python获取当前文件所在目录、获取上级目录的坑及解决
作者:Superstarimage
这篇文章主要介绍了python获取当前文件所在目录、获取上级目录的坑及解决方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
python获取当前文件所在目录、获取上级目录的坑
在项目里为了方便迁移到其它机器不会出现路径错误,经常使用相对路径。
在python中获取当前文件所在路径的方式
有以下几种:
第一种是获取当前文件的全路径:
# 获取当前文件的路径,包括文件名 print(__file__)
第二种是获取当前文件所在目录:
# dirname去掉文件名,返回目录 print(os.path.dirname(__file__))
第三种是获取当前文件的工作目录:
# getcwd返回当前工作目录,有可能和当前文件所在目录不同 print(os.getcwd())
实际写程序的时候,如果怎么配路径都不对的话,有可能是因为用的不是当前文件的工作目录——有时候当前文件的工作目录和当前文件实际所在的目录是不一样的。。。
所以配置相对路径时,第一步先使用os.getcwd()查看当前文件所在的工作目录,然后再做具体的配置。
获取上级目录,及上上级目录方法
如下:
# 获取上级目录 print(os.path.abspath(os.path.join(os.getcwd(), ".."))) # 获取上上级目录 print(os.path.abspath(os.path.join(os.getcwd(), "../..")))
python利用os获取目录
返回当前文件下的工作目录路径
os.path.abspath('test.txt')
返回当前工作目录
os.getcwd() os.path.abspath('.') os.path.abspath(os.curdir) os.path.abspath(os.path.dirname(os.path.abspath(__file__)))
返回上级工作目录
os.path.abspath('..')
os.walk() 用于在目录树中游走输出目录中的文件名
for root, dirs, filesin os.walk(os.getcwd()): print(root) #os.walk()所在目录 print(dirs) #os.walk()所在目录的所有目录名 print(files) #os.walk()所在目录的所有非目录文件名
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。