python

关注公众号 jb51net

关闭
首页 > 脚本专栏 > python > python获取当前文件所在目录、获取上级目录坑

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()所在目录的所有非目录文件名

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
阅读全文