我想在我的python代码中使用其他文件夹的数据。文件结构如下:
yourList.setSelectionFromTop(i, t);
所以我把代码写成了打击:
-- Data
-- data.txt
-- Src
-- app.py
代码是正确的,只能在Src文件夹中运行。但是当我运行py代码时,在我的主文件夹或其他文件夹中。那是错的。我知道为什么,因为它是路径问题。那么,这是我的问题,如何使它正确?有人能帮助我吗?
答案 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()