一学就废|Python基础碎片,OS模块

Python 中的操作系统模块提供了与操作系统交互的功能。操作系统属于 Python 的标准实用程序模块。该模块提供了一种使用依赖于操作系统的功能的可移植方式。osos. path模块包括许多与文件系统交互的函数。

Python-OS 模块函数

我们将讨论 Python os 模块的一些重要功能:

  • 处理当前工作目录
  • 创建目录使用
  • Python 列出文件和目录
  • 使用 Python 删除目录或文件

处理当前工作目录

将当前工作目录(CWD)视为 Python 正在运行的文件夹。每当文件仅通过名称调用时,Python 假定它在 CWD 中启动,这意味着只有当文件在 Python 的 CWD 中时,仅名称引用才会成功。

获取当前工作目录

使用 os. getcwd()来获取当前工作目录的位置。

python 复制代码
import os 
cwd = os.getcwd() 
print("Current working directory:", cwd) 
更改当前工作目录

要更改当前工作目录(CWD)os. chdir()方法。此方法将 CWD 更改为指定路径。它只需要一个参数作为新的目录路径。

以下代码检查并显示当前工作目录(CWD)两次:使用 os. chdir('.../')将目录向上更改一级之前和之后。它提供了一个如何在 Python 中使用当前工作目录的简单示例。

python 复制代码
import os 
def current_path(): 
    print("Current working directory before") 
    print(os.getcwd()) 
    print() 
current_path() 
os.chdir('../') 
current_path() 
创建目录

通过在 Python 中使用 **os. mkdir()**方法,用于创建具有指定数字模式的名为 path 的目录。如果要创建的目录已经存在,则此方法会引发 FileExistsError。

python 复制代码
import os
directory = "test1"
parent_dir = "D:/Pycharm projects/"
path = os.path.join(parent_dir, directory)

os.mkdir(path)
print("Directory '% s' created" % directory)
directory = "test2"
parent_dir = "D:/Pycharm projects"
mode = 0o666
path = os.path.join(parent_dir, directory)
os.mkdir(path, mode)
print("Directory '% s' created" % directory)
  • 第一个目录是使用 os. mkdir()方法创建的,不指定模式。
  • 第二个目录使用相同的方法创建,但提供了特定模式(0o666),该模式授予读写权限。

Python 中的 os. makedirs()方法用于递归创建目录。这意味着在制作叶子目录时,如果缺少任何中级目录,os.makedirs()方法将全部创建。

以下代码在不同的父目录中创建两个目录,"Nikhil" 和 "c"。它使用 os. makedrs 函数来确保在父目录不存在时创建它们。

python 复制代码
import os
directory = "Nikhil"
parent_dir = "D:/Pycharm projects/test/Authors"
path = os.path.join(parent_dir, directory)
os.makedirs(path)
print("Directory '% s' created" % directory)
directory = "c"
parent_dir = "D:/Pycharm projects/test/a/b"
mode = 0o666
path = os.path.join(parent_dir, directory)
os.makedirs(path, mode)
print("Directory '% s' created" % directory)

列出文件和目录

Python 中有 os. listdir()方法用于获取指定目录下所有文件和目录的列表。如果我们没有指定任何目录,那么将返回当前工作目录下的文件和目录列表。

python 复制代码
import os 
path = "/"
dir_list = os.listdir(path) 
print("Files and directories in '", path, "' :") 
print(dir_list) 

Files and directories in ' / ' :
['sys', 'run', 'tmp', 'boot', 'mnt', 'dev', 'proc', 'var', 'bin', 'lib64', 'usr', 
'lib', 'srv', 'home', 'etc', 'opt', 'sbin', 'media']

删除目录或文件

Python 中的 os. remove()方法用于删除或删除文件路径。此方法不能删除或删除目录。如果指定的路径是目录,则该方法将引发 OSError。

python 复制代码
import os 
file = 'file1.txt'
location = "D:/Pycharm projects/test/Authors/Nikhil/"
path = os.path.join(location, file) 
os.remove(path) 

Python 中的 os. rmdir()方法用于删除或删除空目录。如果指定的路径不是空目录,则会引发 OSError。

python 复制代码
import os 
directory = "test"
parent = "D:/Pycharm projects/"
path = os.path.join(parent, directory) 
os.rmdir(path) 

常用函数和属性

os.name

os.name给出导入的操作系统相关模块的名称。目前已注册以下名称:

'posx'、'nt'、'os2'、'ce'、'java' 和 'riscos'。

python 复制代码
import os
print(os.name)

posix
os.error

以下代码读取名为 "test. txt" 的文件的内容。它使用 "try... 除外" 块来处理潜在的错误,特别是如果读取文件时出现问题可能会发生的 "IOError"。

python 复制代码
import os
try:
    filename = 'test.txt'
    f = open(filename, 'rU')
    text = f.read()
    f.close()
except IOError:
  print('Problem reading: ' + filename)


Problem reading: test.txt
os.rename()

可以使用函数 os. rename()将文件 old.txt 重命名为 new.txt。仅当文件存在并且用户具有足够的权限来更改文件时,文件名才会更改。

python 复制代码
import os
fd = "GFG.txt"
os.rename(fd,'New.txt')
os.path.exists()

方法将通过传入文件名作为参数来检查文件是否存在。操作系统模块有一个名为 PATH 的子模块,通过它我们可以执行更多功能。

python 复制代码
import os 
#importing os module

result = os.path.exists("file_name") #giving the name of the file as a parameter.

print(result)
os.path.getsize()

在 os. path.getsize()函数中,python 会以字节为单位给我们文件的大小。要使用此方法,我们需要将文件名作为参数传递。

python 复制代码
import os #importing os module
size = os.path.getsize("filename")
print("Size of the file is", size," bytes.")
相关推荐
Biomamba生信基地1 小时前
两天入门R语言,周末开讲
开发语言·r语言·生信
RAN_PAND1 小时前
STL介绍1:vector、pair、string、queue、map
开发语言·c++·算法
Bio Coder1 小时前
R语言安装生物信息数据库包
开发语言·数据库·r语言
Tiger Z1 小时前
R 语言科研绘图第 27 期 --- 密度图-分组
开发语言·程序人生·r语言·贴图
不会Hello World的小苗1 小时前
Java——列表(List)
java·python·list
m0_748235954 小时前
Python大数据可视化:基于Python的王者荣耀战队的数据分析系统设计与实现_flask+hadoop+spider
hadoop·python·flask
life_time_4 小时前
C语言(22)
c语言·开发语言
Dyan_csdn4 小时前
【Python项目】基于Python的Web漏洞挖掘系统
网络·python·安全·web安全
Minner-Scrapy4 小时前
DApp 开发入门指南
开发语言·python·web app