目录
在 Python 3 中,os
模块提供了很多用于操作系统相关任务的函数,包括文件和目录的操作。下面列举了一些常用的操作系统和文件/目录相关的函数,并提供了相应的示例。
1. 文件和目录路径处理
1.1 os.path.join()
用于拼接路径,使其跨平台兼容。
示例:
python
深色版本
1import os
2path = os.path.join("folder", "subfolder", "file.txt")
3print(path) # 输出 "folder/subfolder/file.txt"(取决于操作系统)
1.2 os.path.split()
将路径分割成目录和文件名。
示例:
python
深色版本
1directory, filename = os.path.split("/home/user/documents/report.txt")
2print(directory) # 输出 "/home/user/documents"
3print(filename) # 输出 "report.txt"
1.3 os.path.dirname()
返回路径中的目录部分。
示例:
python
深色版本
1directory = os.path.dirname("/home/user/documents/report.txt")
2print(directory) # 输出 "/home/user/documents"
1.4 os.path.basename()
返回路径中的文件名部分。
示例:
python
深色版本
1filename = os.path.basename("/home/user/documents/report.txt")
2print(filename) # 输出 "report.txt"
1.5 os.path.exists()
检查路径是否存在。
示例:
python
深色版本
1path = "/home/user/documents/report.txt"
2if os.path.exists(path):
3 print("路径存在")
4else:
5 print("路径不存在")
1.6 os.path.isfile()
检查路径是否指向一个文件。
示例:
python
深色版本
1path = "/home/user/documents/report.txt"
2if os.path.isfile(path):
3 print("是一个文件")
4else:
5 print("不是一个文件")
1.7 os.path.isdir()
检查路径是否指向一个目录。
示例:
python
深色版本
1path = "/home/user/documents"
2if os.path.isdir(path):
3 print("是一个目录")
4else:
5 print("不是一个目录")
1.8 os.path.abspath()
返回路径的绝对路径。
示例:
python
深色版本
1path = os.path.abspath("report.txt")
2print(path) # 输出当前工作目录下的绝对路径
1.9 os.path.isabs()
检查路径是否是绝对路径。
示例:
python
深色版本
1path = "/home/user/documents/report.txt"
2if os.path.isabs(path):
3 print("是绝对路径")
4else:
5 print("不是绝对路径")
1.10 os.path.getsize()
获取文件的大小(字节)。
示例:
python
深色版本
1path = "/home/user/documents/report.txt"
2size = os.path.getsize(path)
3print(size) # 输出文件的大小
2. 文件和目录操作
2.1 os.mkdir()
创建目录。
示例:
python
深色版本
1import os
2os.mkdir("new_directory")
2.2 os.makedirs()
创建多级目录。
示例:
python
深色版本
1os.makedirs("parent/child/grandchild")
2.3 os.rmdir()
删除空目录。
示例:
python
深色版本
1os.rmdir("new_directory")
2.4 os.removedirs()
删除多级空目录。
示例:
python
深色版本
1os.removedirs("parent/child/grandchild")
2.5 os.rename()
重命名文件或目录。
示例:
python
深色版本
1os.rename("oldname.txt", "newname.txt")
2.6 os.replace()
类似于 rename()
,但会在目标已存在时替换目标。
示例:
python
深色版本
1os.replace("oldname.txt", "newname.txt")
2.7 os.remove()
删除文件。
示例:
python
深色版本
1os.remove("report.txt")
3. 列出目录内容
3.1 os.listdir()
列出目录中的文件和目录。
示例:
python
深色版本
1files = os.listdir("/home/user/documents")
2for file in files:
3 print(file)
3.2 os.walk()
递归遍历目录树。
示例:
python
深色版本
1for dirpath, dirnames, filenames in os.walk("/home/user/documents"):
2 print("Directory:", dirpath)
3 print("Subdirectories:", dirnames)
4 print("Files:", filenames)
4. 文件权限
4.1 os.chmod()
改变文件或目录的权限。
示例:
python
深色版本
1os.chmod("report.txt", 0o755) # 设置权限为 rwxr-xr-x
5. 更改当前工作目录
5.1 os.chdir()
更改当前工作目录。
示例:
python
深色版本
1os.chdir("/home/user/documents")
6. 获取当前工作目录
6.1 os.getcwd()
获取当前工作目录。
示例:
python
深色版本
1current_dir = os.getcwd()
2print(current_dir)
总结
os
模块提供了丰富的函数来处理文件和目录,从路径的拼接到文件的创建和删除,再到目录的遍历和权限的修改等。掌握这些函数的使用方法,可以帮助你更好地管理文件系统,无论是进行简单的文件操作还是复杂的文件管理系统开发,这些知识都是非常有用的。