Nodejs执行python代码时获取错误的路径

时间:2017-05-04 11:54:24

标签: python node.js

我正在使用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"我发现错误" 没有这样的文件/目录.. "

我该如何解决?

1 个答案:

答案 0 :(得分:1)

os.path.abspath("myfile.txt")

没有修复任何内容(除非你在某个时候使用os.chdir,但在这里并非如此)

这里的问题是当你从nodejs运行python脚本时,你对当前目录没有发言权。

但是你知道你的数据文件存储在哪里,相对于你的脚本。

由于__file__包含脚本的绝对路径,因此您可以通过以下方式找到数据文件:

os.path.join(os.path.dirname(__file__),"myfile.txt")