python模块 | 多种操作系统接口—os模块

os 模块提供了一种使用与操作系统相关的功能的便捷式途径。 通常该模块用来处理文件和目录。



os.name # 指示正在使用的工作平台

其中,输出 ‘nt’ 表示windows平台,输出 ‘posix’ 表示Linux/Unix平台。

# windows 10 系统测试
>>> import os
>>> os.name
'nt'

sys.platform 有更详细的描述. os.uname() 只给出系统提供的版本信息。
platform 模块对系统的标识有更详细的检查。

os.getcwd() # 获得当前工作目录
# windows 10 ,C盘根目录下
>>> import os
>>> os.getcwd()
'C:\\'
os.listdir(path) # 返回指定目录下的所有文件和目录名
>>> import os
>>> os.listdir("c:\\")
['$Recycle.Bin', '$WINRE_BACKUP_PARTITION.MARKER', '2019-03', '2019-04', 'aow_drv.log', 'AppData', 'Documents and Settings', 'exam', 'examsys', 'examsys.bak', 'GameDownload', 'hiberfil.sys', 'inetpub', 'Intel', 'kankan', 'kingsoft', 'MinGW', 'Netease', 'pagefile.sys', 'PerfLogs', 'pip-20.0.1-py2.py3-none-any.whl', 'pip-20.0.2-py2.py3-none-any.whl', 'PreloadLog.LOG', 'Program Files', 'Program Files (x86)', 'ProgramData', 'QMDownload', 'qqpcmgr_docpro', 'RCD.dat', 'Recovery', 'SCD.dat', 'SmartStoneHttpS', 'SPDll_v7Temp', 'swapfile.sys', 'SWSETUP', 'System Volume Information', 'TDDOWNLOAD', 'Temp', 'Users', 'usr', 'VJVod_Cache', 'Windows']
os.remove(file) # 删除指定文件
# 在C盘下有个test.txt的文件
>>> import os
>>> os.remove("c:\\test.txt")
os.rename(src_file,dst_file) # 重命名文件或目录
>>> import os
>>> os.rename("old_name.txt","new_name.txt") # old_name -> new_name
os.mkdir(name) # 创建目录
>>> import os
>>> os.mkdir("f:\\blog")		# F盘创建 blog 目录
os.rmdir(path) # 删除空目录
>>> import os
>>> os.rmdir("f:\\blog")		# 删除F盘下的 blog 目录(空目录)
os.makedirs(path) # 递归的创建目录
>>> import os
>>> os.makedirs("f:\\blog\\2020.4.16\\test")	# F:\blog\2020.4.16\test
os.removedirs(path) # 递归的删除空目录
>>> import os
>>> os.makedirs("f:\\blog\\2020.4.16\\test")	# 创建
>>> os.removedirs("f:\\blog\\2020.4.16\\test")	# 如果在路径中存在某个目录非空,将会保留此目录
												# 如 blog 目录下有一个文件。命令执行后blog与旗下的文件将保留,
												# 2020.4.16目录及下层空目录被删除。
os.system('cls') # 通过python调用shell命令
>>> import os
>>> os.system("ping baidu.com")

正在 Ping baidu.com [39.156.69.79] 具有 32 字节的数据:
来自 39.156.69.79 的回复: 字节=32 时间=42ms TTL=50
来自 39.156.69.79 的回复: 字节=32 时间=42ms TTL=50
来自 39.156.69.79 的回复: 字节=32 时间=43ms TTL=50
来自 39.156.69.79 的回复: 字节=32 时间=43ms TTL=50

39.156.69.79 的 Ping 统计信息:
    数据包: 已发送 = 4,已接收 = 4,丢失 = 0 (0% 丢失),
往返行程的估计时间(以毫秒为单位):
    最短 = 42ms,最长 = 43ms,平均 = 42ms
0
os.path.split(file) # 返回一个文件的路径名与文件名

以元组的方式自动拆分文件路径和文件名。

>>> import os
>>> os.path.split("F:\blog\2020.4.16\test")	#忘记加 \\ 了,单 \ 是转义字符
('F:', '\x08log\x820.4.16\test')
>>> os.path.split(r"F:\blog\2020.4.16\test") # 使用前置 r,取消转义字符 \ 的转义功能
('F:\\blog\\2020.4.16', 'test')
os.path.join(file) # 返回一个文件的完整文件名

自动将文件与路径拼接完整。

>>> import os
>>> os.path.join('F:\\blog\\2020.4.16', 'test')
'F:\\blog\\2020.4.16\\test'
os.path.dirname(file) # 返回文件的路径名
>>> import os
>>> os.path.dirname(r"F:\blog\2020.4.16\test")
'F:\\blog\\2020.4.16'
os.path.exists(file) # 判断文件是否存在
>>> import os
>>> os.path.exists(r"F:\blog\2020.4.16\test")
False
os.path.isdir(file) # 检测是否为目录
>>> import os
>>> os.path.isdir("d:\\")
True
os.stat(file) # 返回文件信息
>> import os
>>> os.stat("f:\\")
os.stat_result(st_mode=16895, st_ino=1407374883553285, st_dev=681639539, st_nlink=1, st_uid=0, st_gid=0, st_size=8192, st_atime=1586970923, st_mtime=1586970922, st_ctime=1556449244)
os.stat(file).st_size # 返回当前文件大小
>>> import os
>>> os.stat("f:\\").st_size
8192
原创文章 131 获赞 128 访问量 3万+

猜你喜欢

转载自blog.csdn.net/weixin_43919932/article/details/105548195