os模块
sys模块
#python添加路径为可以搜索的路径:
import sys
BASE_DIR = os.path.dirname(os.path.abspath(os.path.dirname(__file__)))
sys.path.insert(0, os.path.join(BASE_DIR, 'ArticleSpider'))
python-路径的获取与拼接
路径获取
1.获取绝对路径
# __file__:运行的文件
abs_path = os.path.abspath(__file__) # 获取当前文件的绝对路径
print(abs_path)
s = abs_path.split('\\')
print(s)
2.获取文件目录的路径
# 想要获取文件的目录路径,必须先获取当前文件的绝对路径
# 不建议使用相对路径获取文件的目录路径,易出错
# dir_name = os.path.dirname(__file__) #相对路径获取
# dir_name = os.path.dirname(abs_path) #用绝对路径获取
#参数也可以(r'd:\abc\demo.txt'),不管文件存不存在,得到结果都是d:\abc\
#只是把参数当成字符串进行处理,存不存在无所谓,在open时,必须要存在
print(dir_name)
3.路径拼接
该文件所在目录下有一个pac01的包,包中有一个demo.txt文件
怎么读取到demo.txt的内容呢?
# 1、先获取当前文件的绝对路径
# 2、获取当前文件的目录路径
# 3、当前文件的目录路径和pac01拼接
# 4、读取
#__file__:当前文件的文件名
#__name__:所在模块的模块名
#获取绝对路径
abs_path = os.path.abspath(__file__)
#获取目录路径
dir_name = os.path.dirname(abs_path)
#拼接
txt_file_path = os.path.join(dir_name, 'pac01', 'demo.txt')
print(txt_file_path)#D:\exe_file\python\x...x\pac01\demo.txt
with open(txt_file_path) as f:
print(f.read())
路径的常用操作
1、获取工作目录
print(os.getcwd())
2、创建目录
os.mkdir(‘test_dir’)
3、删除目录
os.rmdir()
4、切换工作路径
os.chdir()
5、列举当前路径下的所有文件以及目录列表
os.listdir()
6、判断当前文件是否是目录
os.path.isdir()
7、判断当前文件是否是文件,返回True
os.path.isfile()
import sys模块使用
如果你发现模块导入不了,可以使用sys.path来检查可以导入的模块路径
print(sys.path)
在结果的这些路径中查找,如果都找不到会报错