引入类库
import os
常用方法
OS模块方法
获取操作系统类型
nt->window:Microsoft Windows NT
posix->Linux/Mac OS: Portable Operating System Interface of UNIX(可移植操作系统接口)
示例如下:
print(os.name) # nt
获取系统环境变量
所有环境变量
print(os.environ)
指定环境变量
print(os.environ.get('APPDATA'))
# C:Users18201AppDataRoaming
获取当前目录
示例如下:
print(os.curdir)
# 执行结果:.
获取当前工作目录
示例如下:
print(os.getcwd())
# 执行结果: E:lianxipyday3
获取目录所有文件
使用os的listdir方法,返回指定目录下所有的文件(以列表的形式)。
示例如下:
print(os.listdir(r'E:lianxipyday3'))
# 执行结果
# ['os整理.py', '元组.py', '字典.py', '字符串.py', '异常处理.py', '文件持久操作.py', '文件读写.py','装饰器.py', '迭代器.py', '集合.py']
创建目录
绝对路径
示例如下:
os.mkdir(r'E:lianxipyday3new')
相对路径
示例如下:
os.mkdir('new2')
注意:
Traceback (most recent call last):
File "E:lianxipyday3os整理.py", line 38, in <module>
os.mkdir(r'E:lianxipyday3new')
FileExistsError: [WinError 183] 当文件已存在时,无法创建该文件。: 'E:\lianxipy\day3\new'
执行结果
删除目录
示例如下:
os.rmdir(r'E:lianxipyday3new')
os.rmdir('new2') # ./new2 or new2都可以
获取文件属性
示例如下:
print(os.stat('os整理.py'))
执行结果:
os.stat_result(st_mode=33206, st_ino=1970324837013767, st_dev=3365708600, st_nlink=1, st_uid=0, st_gid=0, st_size=1208, st_atime=1701744932, st_mtime=1701744932, st_ctime=1701740791)
说明:
st_size: 普通文件以字节为单位的大小;包含等待某些特殊文件的数据。
st_ctime: 由操作系统报告的”ctime“。在某些系统上(如Unix)是最新的元数据更改的时间,在其它系统上(如Windows)是创建时间(详细信息参见平台的文档)。
重命名
对目录重命名
示例如下:
os.rename('new', 'new1')
对文件重命名
这里也是传入两个路径名称,需要注意的是路径要携带文件扩展名,否则就修改文件格式,会导致无法识别文件。
示例如下:
os.rename('函数1.py', '函数.py')
删除普通文件
删除文件需要使用os的remove方法,传入一个绝对路径或相对路径的文件即可删除。在当前目录下创建一个new.txt用于测试删除。
示例如下:
os.remove('new.txt')
Traceback (most recent call last):
File "E:lianxipyday3os整理.py", line 59, in <module>
os.remove('new.txt')
FileNotFoundError: [WinError 2] 系统找不到指定的文件。: 'new.txt'
运行shell命令
Shell命令就是指使用cmd.exe打开的小黑窗口执行的命令。使用shell命令需要谨慎,否则易引发安全问题。
示例如下:
# 设置脚本文件编码为utf-8
os.system("CHCP 65001")
# 查看本地配置
os.system("ipconfig")
# 查看文件目录树结构
os.system("tree")
# 打开远程桌面
os.system("mstsc")
OS path模块方法
查看当前绝对路径
示例如下:
print(os.path.abspath('./os整理.py'))
# 执行结果
# E:lianxipyday3os整理.py
拼接路径
注意:参数2中开始不能是斜杠,否则会覆盖掉参数1除根外的其他路径
示例如下:
path1 = "E:lianxipyday3"
path2 = "text\new1\new2"
print(os.path.join(path1, path2))
# 执行结果
# E:lianxipyday3textnew1new2
拆分路径
从路径中拆出最后一个目录
示例如下:
path3 = r"E:lianxipyday3textnew1new2"
print(os.path.split(path3))
# 执行结果
# ('E:\lianxipy\day3\text\new1', 'new2')
获取扩展名
示例如下:
print(os.path.splitext(r"E:lianxipyday3os整理.py"))
# 若没有扩展名
print(os.path.splitext(r"E:lianxipyday3os整理"))
# 执行结果
# ('E:\lianxipy\day3\os整理', '.py')
# ('E:\lianxipy\day3\os整理', '')
判断目录
示例如下:
print(os.path.isdir(r"E:lianxipyday3os整理.py")) # False
print(os.path.isdir(r"E:lianxipyday3")) # True
判断文件是否存在
示例如下:
print(os.path.isfile(r"E:lianxipyday3os整理.py")) # True
print(os.path.isfile(r"E:lianxipyday3os整理1.py"))# False
判断路径是否存在
可用来判断绝对路径的目录
示例如下:
print(os.path.exists(r"E:lianxipyday3")) # True
print(os.path.exists(r"E:lianxipyday3os整理.py")) # True
获取文件的大小
示例如下:
print(os.path.getsize(r"E:lianxipyday3os整理.py")) # 3457
print(os.path.getsize(r"E:lianxipyday3new")) # 0
文件的目录获取
dirname 函数用于返回文件路径,也就是返回 path 参数中最后一个斜杠之前的所有内容。
示例如下:
path = r"E:lianxipyday3os整理.py"
print(os.path.dirname(path))
print(os.path.basename(path))
# 执行结果
# E:lianxipyday3
# os整理.py
总结
原文地址:https://blog.csdn.net/json_ligege/article/details/134814041
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.7code.cn/show_48440.html
如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱:suwngjj01@126.com进行投诉反馈,一经查实,立即删除!