1. 明确几个概念
(1)os.和sys的区别:
os
和 sys
都是 Python 标准库中的模块,用于处理文件和目录路径。它们之间的主要区别在于:
os
模块提供了许多与操作系统相关的功能,例如文件和目录操作、进程管理、环境变量等。sys
模块提供了与 Python 解释器相关的功能,例如解释器的版本、命令行参数等。
总之,os
模块更适合处理文件和目录路径,而 sys
模块更适合处理与 Python 解释器相关的功能。
(2)resource root概念和source root概念
都代表源路径
-
resource root
是指项目中存储资源文件的根目录,例如图片、字体、配置文件等。 -
source root
是指项目中存储源代码的根目录,例如 Python 文件、JavaScript 文件等。
总之,resource root
和 source root
分别用于存储资源文件(上级)和源代码文件(下级)。
2. 了解几个重要用法
(1)在处理文件和目录路径时,os
模块:
os.path.join()
方法——连接路径
import os
# 连接路径名组件
path1 = '/home/user'
path2 = 'Documents'
path3 = 'file.txt'
full_path = os.path.join(path1, path2, path3)
print(full_path) # /home/user/Documents/file.txt
os.path.abspath()
方法——获取绝对路径——注意此处获取的是当前代码文件的路径。
# 获取绝对路径
path = 'file.txt'
abs_path = os.path.abspath(path)
print(abs_path) # /home/user/Documents/file.txt
os.path.exists()
:判断指定路径是否存在。
# 判断路径是否存在
path = '/home/user/Documents/file.txt'
if os.path.exists(path):
print('File exists')
else:
print('File does not exist')
os.path.dirname():获取路径的目录部分
path = "/home/user/documents/file.txt"
dirname = os.path.dirname(path)
print(dirname)
输出结果将是:/home/user/documents
(2) sys
模块则提供了一些简单的方法,例如可以使用 sys.argv
属性来获取命令行参数。
查看当前的搜索路径列表:
import sys
print("当前解释器中包含的路径有:"sys.path)
添加自定义路径到搜索路径列表:
import sys
sys.path.append('/path/to/my/module')
删除指定路径从搜索路径列表:
import sys
sys.path.remove('/path/to/my/module')