Python的os库是一个强大的库,用于与操作系统进行交互。它提供了许多功能,包括文件和目录管理、环境变量访问以及执行系统命令。在本篇博客中,我们将列举20个os库的常用命令,并为每个命令提供示例。
0.合并路径
os.path.join()
方法的主要作用是将多个路径组合成一个完整的文件路径。这在操作文件和目录时特别有用,因为不同的操作系统使用不同的路径分隔符,例如在Windows中使用反斜杠(\),而在Unix/Linux和 macOS 中使用正斜杠(/)。os.path.join()方法会根据当前操作系统自动选择正确的分隔符,以确保路径的正确性。
import os
path = os.path.join('parent_directory', 'child_directory', 'file.txt')
print("合并后的路径:", path)
import os
base_dir = '/user/documents'
file_name = 'report.txt'
file_path = os.path.join(base_dir, file_name)
print("文件路径:", file_path)
import os
user_dir = '/user'
docs_dir = 'documents'
sub_dir = 'reports'
full_path = os.path.join(user_dir, docs_dir, sub_dir)
print("目录路径:", full_path)
import os
path_parts = ['user', 'documents', 'reports']
file_name = 'report.txt'
full_path = os.path.join(*path_parts, file_name)
print("跨平台路径:", full_path)
1. 获取当前工作目录
os.getcwd()
方法用于获取当前工作目录。
import os
current_dir = os.getcwd()
print("当前工作目录:", current_dir)
2. 列出目录中的文件和子目录
os.listdir()
方法用于列出指定目录中的文件和子目录。
import os
dir_contents = os.listdir('/path/to/directory')
print("目录内容:", dir_contents)
3. 创建目录
os.mkdir()
方法用于创建一个新目录。
import os
os.mkdir('/path/to/new_directory')
4. 删除目录
os.rmdir()
方法用于删除目录。
import os
os.rmdir('/path/to/directory_to_delete')
5. 重命名文件或目录
os.rename()
方法用于重命名文件或目录。
import os
os.rename('/path/to/old_name', '/path/to/new_name')
6. 删除文件
os.remove()
方法用于删除文件。
import os
os.remove('/path/to/file_to_delete')
7. 检查路径是否存在
os.path.exists()
方法用于检查路径是否存在。
import os
path = '/path/to/check'
if os.path.exists(path):
print(path, "存在")
else:
print(path, "不存在")
8. 获取文件大小
os.path.getsize()
方法用于获取文件的大小(以字节为单位)。
import os
file_size = os.path.getsize('/path/to/file')
print("文件大小(字节):", file_size)
9. 获取文件的最后修改时间
os.path.getmtime()
方法用于获取文件的最后修改时间。
import os
import datetime
file_mtime = os.path.getmtime('/path/to/file')
last_modified = datetime.datetime.fromtimestamp(file_mtime)
print("最后修改时间:", last_modified)
10. 切换目录
os.chdir()
方法用于切换当前工作目录。
import os
os.chdir('/path/to/new_directory')
11. 获取环境变量
os.environ
字典包含了所有环境变量。
import os
env_var = os.environ.get('MY_VARIABLE')
print("环境变量 MY_VARIABLE 的值:", env_var)
12. 执行系统命令
os.system()
方法用于执行系统命令。
import os
os.system('ls -l')
13. 检查是否是文件
os.path.isfile()
方法用于检查是否是文件。
import os
is_file = os.path.isfile('/path/to/file')
print("是文件:", is_file)
14. 检查是否是目录
os.path.isdir()
方法用于检查是否是目录。
import os
is_dir = os.path.isdir('/path/to/directory')
print("是目录:", is_dir)
15. 分离路径和文件名
os.path.split()
方法用于分离路径和文件名。
import os
path, filename = os.path.split('/path/to/file.txt')
print("路径:", path)
print("文件名:", filename)
16. 获取绝对路径
os.path.abspath()
方法用于获取绝对路径。
import os
abs_path = os.path.abspath('relative/path')
print("绝对路径:", abs_path)
17. 获取目录名
os.path.dirname()
方法用于获取目录名。
import os
dir_name = os.path.dirname('/path/to/file.txt')
print("目录名:", dir_name)
18. 获取文件名
os.path.basename()
方法用于获取文件名。
import os
file_name = os.path.basename('/path/to/file.txt')
print("文件名:", file_name)
19. 判断路径是否是绝对路径
os.path.isabs()
方法用于判断路径是否是绝对路径。
import os
is_absolute = os.path.isabs('/path/to/file.txt')
print("是绝对路径:", is_absolute)
20. 获取目录中的所有文件
os.scandir()
方法用于获取目录中的所有文件和子目录的信息。
import os
with os.scandir('/path/to/directory') as entries:
for entry in entries:
print(entry.name, entry.is_file())