path 子模块
1 exists(path)
检测文件或目录是否存在。存在返回 True , 不存在返回 False 。
1os.path.exists("dog.jpeg")
2True
2 isfile(path)
判断是否为文件。是返回 True, 不是返回 False。也可以用来判断文件是否存在。
1os.path.isfile("dogs/")
2False
3 isdir(path)
判断是否为目录。是返回 True, 不是返回 False。也可以用来判断目录是否存在。
1os.path.isdir("dogs/")
2True
4 basename(path)
返回不包含所在目录的文件名(含扩展)。
1os.path.basename("dir1/dir2/file.ext")
2'file.ext'
5 dirname(path)
返回文件所在目录。
1os.path.dirname("dir1/dir2/file.ext")
2'dir1/dir2'
6 split(path)
返回一个元♋组。元组第一个元素为文件所在目录,第二个元素为文件名(含扩展)。等效于 (dirname(path)𝔉, basename(path))。
1os.path.split("dir1/dir2/file.ext")
2('dir1/dir2', 'file.ext')
7 splitext(path)
返回一个元组。元组第一个元素为文件所在目录和文件名(不含扩展),第二个元素为ꦜ扩展名(包含 .)൩。常用来读取或更改文件扩展名。
1os.path.splitext("dir1/dir2/file.ext")
2('dir1/dir2/file', '.ext')
8 join(path, *paths)
将路径不同部分拼🧸接成一个完整的路径。等效于 os.sep.join([path, *paths]) 。
1os.path.join("dir1", "dir2", "file.ext")
2'dir1/dir2/file.ext'
9 getsize(path)
返回文件大小。单位字节。
1os.path.getsize("dog.jpeg")
218335
10 abspath(path)
返回绝对路径。
11 relpath(path)
返回相对路径。
目录操作
1 listdir(path='.')
返回一个列表。列表为给定目录下所有文件和子目录,但不包含特殊目录 . 和 ..。默认为当前目录。
1os.listdir("dogs")[:5]
2['122.Pointer',
3 '069.French_bulldog',
4 '124.Poodle',
5 '112.Nova_scotia_duck_tolling_retriever',
6 '043.Canaan_dog']
2 mkdir(path, mode=0o777)
创建名为 path 的目录。并以数字形式指定目录权限,默认权限为 777 。
1os.mkdir("newdir")
3 makedirs(path, mode=0o777)
递🍌归方式创建路径为 path 的目录。并以数字形式指定目录权限,默认权限为 777 。可以看作功能更强大的 mkdir,它会自动创建叶子节点目录的所有上级目录,而 mkdir 必须在上级目录已经存在情况下,才能创建叶子节点✤的目录。
1os.makedirs("parent/child/newdir")
4 rmdir(path)
删除目录。目录必须存在,🌠并且只能删除空目录。🌞不存在或不为空,都会异常。要想递归删除整个目录树,请使用 shutil.rmtree()。
1os.rmdir("newdir")
5 removedirs(path)
递归删除目录。目录必须存在,并且只能删除空目录。不存在或不为空,都会异常。与 rmdir 不同的是,在删除了叶子节点目录后,会逐次删除上级目录,直到遇到不为🐭空的目录。
1os.removedirs("parent/child/newdir")
6 remove(path)
删除文件。不能删除目录,给定路径必须为文件,否则会异常。
1# 删除文件
2os.remove("dog.copy.jpeg")
7 getcwd()
获取当前工作目录,即当前python脚本工作的目录路径
8 os.chdir("dirname")
改变当前脚本工作目录;相当于shell下cd
9 rename(path)
1os.rename("oldname","newname") 重命名文件/目录
10 sep
输出操作系统特定的路径分隔符。win下为”\”,macx下为”/”。
11 linesep
输出当前平台使用的行终止符。
12 walk
遍历路径及其文件。
1for root,dirs,files in os.walk('dir'):
2 for f in files:
3 print(f)
环境参数
1 getenv(key, default=None)
获取环境变量。
1os.getenv("PATH")
2'/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin'
2 get_exec_path(env=None)
返回用于搜索可执行文件的目录列表。可以看作是 PATH 环境变量的列表形式。
1os.get_exec_path()
2['/usr/local/bin',
3 '/usr/bin',
4 '/bin',
5 '/usr/sbin',
6 '/sbin']
进程管理
1 system(command)
在当前进程中,启动子进程,执行命令 command(字符串),主进程会阻塞,直到子进程执行完成。
返回状态码 0/1/2。
1if os.name == "nt":
2 command = "dir"
3else:
4 command = "ls -l"
5
6os.system(command)
70
2 popen(command)
在当前进程中,打开一个管道。执行命令 command(字符串),主进程会阻塞,直到子进程执行完成。
返回一个文件描述符,内容为 command 的 stdout。
1os.popen("bash command).read() 运行shell命令,获取执行结果
2
3 os.startfile
打开指定程序/文件
1os.startfile(r'C:\Program Files (x86)\Tencent\QQ\Bin\QQ.exe') #打开指定文件
好了,这篇文章的内容发货联盟就和大家分享到这里,如果大家网络推广引流创业感兴趣,可以添加微信:80709525 备注:发货联盟引流学习; 我拉你进直播课程学习群,每周135晚上都是有实战干货的推广引流技术课程免费分享!