2017-05-04 5 views
0

python-shellを使用して、私のnodejsサーバーからPythonスクリプトを呼び出しています。 Pythonスクリプトは、myfile.txtのという名前のファイルを開き、その内容を読み込みます: path = os.path.abspath("myfile.txt") f = open(path, 'r')NodejsでPythonコードを実行すると間違ったパスを取得

私はPythonのコマンドラインからPythonコードを実行するときには、通常動作しますが、私はNodejsからそれを呼び出すようにしようとすると、ことが判明します「.. そのようなファイル/ディレクトリ」私はそれを修正するにはどうすればよい

パスは「パスツーnodejs-サーバー/ binに/ myfile.txtの」になっていないと私は、エラーをキャッチ? (あなたはいくつかの点でos.chdirを使用しない限り、それはここではケースではありません)

+0

のpythonと同じディレクトリ内のファイルのですか? (os.path.dirname(__ file __)、 "myfile.txt") ' –

+0

はい、ファイルが入っています。os.path.abspath(" myfile.txt ")を' os.path.join Pythonコードと同じディレクトリ。 –

答えて

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

は何も解決しない

ここでの問題は、ときにあなたは、現在のディレクトリに発言権を持っていないということですpythonスクリプトはnodejsから実行されます。

あなたのデータファイルは、あなたのスクリプトから比較的保存されています。

__file__は、スクリプトの絶対パスが含まれているので、あなたがして、データファイルを見つけることができます。

os.path.join(os.path.dirname(__file__),"myfile.txt") 
関連する問題