如何获取py文件的路径?

时间:2016-11-05 07:22:37

标签: python path

我想在我的python代码中使用其他文件夹的数据。文件结构如下:

yourList.setSelectionFromTop(i, t);

所以我把代码写成了打击:

-- Data
   -- data.txt
-- Src
   -- app.py

代码是正确的,只能在Src文件夹中运行。但是当我运行py代码时,在我的主文件夹或其他文件夹中。那是错的。我知道为什么,因为它是路径问题。那么,这是我的问题,如何使它正确?有人能帮助我吗?

2 个答案:

答案 0 :(得分:3)

我猜有更好的方法,但这很简单

import os

# get the directory of the executed python file
src_path = os.path.dirname(os.path.abspath(__file__))

# get the directory of data relative to the src_path
data_path = os.path.join(src_path, "../data/data.txt")

# profit ?
print open(data_path).read()

实施例

/tmp/src > python app.py
Hello World!

/tmp > python src/app.py
Hello World!

答案 1 :(得分:1)

您需要指定数据文件的路径,您可以对其进行硬编码或将其作为具有默认值的arg传递(更好的解决方案)

import sys

if __name__ == '__main__':
    fileName = sys.argv[1] if len(sys.argv==2) else '/the/default/path'

''' your code''''   

将args传递给Python脚本时,第一个arg是脚本本身的名称

此外,如果您需要获取脚本中的当前目录路径:

import os
current_path = os.getcwd()