最近参加比赛,在提交docker镜像到云端的过程中,遇到了不少问题,其中关于python路径的问题着实浪费了很多时间。这里把它简单总结一下,以后遇到时方便查询。
获取任意文件绝对路径的方法:
1. os.path.abspath(path)
2. os.path.realpath(path)
获取当前python文件所在的目录:
1. sys.path[0]
2. __file__ (__file__是指包括python文件名在内的路径)
获取当前运行位置的目录:
1. os.getcwd() 注意这里与上面的不同!这里返回的是在shell界面运行python时命令行所在的目录!
相对路径一般配合以下两个目录缩写使用:
1. “./” 当前目录(这里指os.getcwd()目录,而非sys.path[0]目录)
2. "../" 上级目录(同上)
如果想以当前运行的python文件位置计算相对路径,最好还是使用sys.path[0]而非./以及../(../可以用
os.path.abspath(os.path.dirname(os.path.dirname(__file__))) 来代替)