Python路径找不到文本文件

时间:2017-06-22 15:25:24

标签: python cloudfoundry pythonpath

我在这个结构中有我的python代码:

folder:
   Procfile
   folder2:
      myprog.py
      foo.py
      somefile.txt

我的Procfile包含web: python folder2/myprog.py

myprog.py包含:

import sys
sys.path.insert(0, '../')
#other code

foo.py包含:

print "about to read file"
file = open("somefile.txt", "r") 
print file.read() 
print "done reading"

我无法读取该文件。代码从未到达done reading部分,尽管它打印about to read file

1 个答案:

答案 0 :(得分:2)

您可以利用自动模块变量__file__,并且您知道somefile.txtfoo.py位于同一目录中:

file = open(os.path.join(os.path.dirname(__file__), "somefile.txt"), "r") 

sys.path仅确定导入模块的搜索路径,而不是从文件系统打开通用文件的位置。