0

プログラム (tcl ファイルを含むステマー) を実行して、txt ファイルを読み取り、結果を別の txt ファイルに保存しようとしています。dos-windows ターミナルからコマンドを実行すると正常に動作しますが、python ターミナルからこれを実行するos.system()と値が返さ1れ、何も起こりません。コードは次のとおりです。

>>>import os
>>>os.system('C:\Python27\Lib\site-packages\tclsh.exe -encoding utf-8     C:\Python27\Lib\site-packages\GreekStemmer.tcl in.txt out.txt')
>>>1

「1」は、コマンドが正常に実行されなかったことを意味すると思いますか?? そして、これをdos-terminalで実行すると、結果を含むout.txtファイルが作成されます.しかし、ここでは..

4

2 に答える 2

0

私のマシンでは、バックスラッシュが解釈されないため、以下は機能しません。それらは特殊文字を示します。

import os
os.system('C:\bin\Tcl\bin\tclsh.exe')

文字列の前に r を追加できます

import os
os.system(r'C:\bin\Tcl\bin\tclsh.exe')

または二重のバックスレースを使用する

import os
os.system('C:\\bin\\Tcl\\bin\\tclsh.exe')
于 2012-11-27T12:21:15.383 に答える
0

in.txtPythonスクリプトを実行しているのと同じディレクトリにありますか? 現在の作業ディレクトリが関数呼び出しからどこにあるかを誤解している可能性があります。in.txtそうでない場合は、より具体的なパスを指定する代わりに。

また、subprocessPython には外部実行可能呼び出し用のモジュールがあります。

于 2012-11-27T11:15:33.993 に答える