私はスクリプトとして必要な間に、スタンドアロンとして動作するときにのみうまく動作するpythonスクリプトを持っています。それは、このような方法で、外部の.exeのコンパイルされたCライブラリを使用しています:私は、スタンドアローンとしてそれを実行したときにPythonでアプリケーションアドオンのフォルダ書き込み権限を設定するには
# trigger the shell command
import subprocess
p = subprocess.Popen('qvoronoi TI data.txt TO results.txt p FN Fv QJ', shell=True)
p.wait()
# open the results file and parse results
results = open('results.txt','r')
それはすべての権利に動作します。
しかし私のプログラムは、別のアプリケーション(PTV Visum:http://www.ptvag.com/software/transportation-planning-traffic-engineering/software-system-solutions/visum/)の内部から動作するスクリプトでなければなりません。
私はそこからスクリプトとして実行すると、ファイル(results.txt)を書き込む権限を取得できないようです。エラーメッセージ:
IOError: [Errno 2] No such file or directory: 'results.txt'
どうすれば解決できますか?
PS。 os.chmodでフォルダのアクセス許可を変更しようとしましたが、それは助けになりませんでした。
@agfあなたは正しいです。とにかく奇妙なことに、私がスタンドアロンの 'os.getcwd()'として実行すると、プロセス全体を通して適切でした。しかし、私がスクリプトとして使用したときに、 'os.getcwd()'は私がそれを知り、異なる時に最初のもので適切なものでした...とにかく私は '' os.chdir(good_cwd) 'を使いました。 –