我正在使用python-shell从我的nodejs服务器调用python脚本。 python脚本将打开一个名为 myfile.txt 的文件并读取其内容:
path = os.path.abspath("myfile.txt")
f = open(path, 'r')
当我从Python命令行执行python代码时它正常运行但是当我尝试从Nodejs调用它时,结果是路径变成了" path-to-nodejs-server /bin/myfile.txt"我发现错误" 没有这样的文件/目录.. "
我该如何解决?
答案 0 :(得分:1)
os.path.abspath("myfile.txt")
没有修复任何内容(除非你在某个时候使用os.chdir
,但在这里并非如此)
这里的问题是当你从nodejs运行python脚本时,你对当前目录没有发言权。
但是你知道你的数据文件存储在哪里,相对于你的脚本。
由于__file__
包含脚本的绝对路径,因此您可以通过以下方式找到数据文件:
os.path.join(os.path.dirname(__file__),"myfile.txt")