通过python终端运行外部程序

通过python终端运行外部程序,python,operating-system,system,external,execute,Python,Operating System,System,External,Execute,我尝试运行一个程序(一个带有tcl文件的词干分析器)来读取一个txt文件,并将结果保存到另一个txt文件中。当我通过dos windows终端运行该命令时,它工作正常,但当我使用os.system()通过python终端运行该命令时,它返回1值,但什么也没有发生。。 代码如下: >>>import os >>>os.system('C:\Python27\Lib\site-packages\tclsh.exe -encoding utf-8 C:\Py

我尝试运行一个程序(一个带有tcl文件的词干分析器)来读取一个txt文件,并将结果保存到另一个txt文件中。当我通过dos windows终端运行该命令时,它工作正常,但当我使用
os.system()
通过python终端运行该命令时,它返回
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终端上运行这个程序时,它会创建一个out.txt文件,其中包含结果。但是这里不是..

是不是
in.txt
在运行python脚本的同一目录下?您可能误解了当前工作目录来自函数调用的位置。如果没有,请给出更具体的路径,而不是.txt中的


另外,在python中还有一个用于外部可执行调用的
子流程
模块。

在我的机器上,以下命令不起作用,因为反斜杠没有被解释。它们表示特殊的性格

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')

in.txt在同一个目录中,我还试图给出in.txt的完整路径。子进程返回errorJust confirming,即调用python脚本之前所在的目录,还是与.tcl文件相同的目录?因为它需要是FORMERAL文件和可执行文件在同一目录中..:(您需要在字符串上添加一个“r”前缀,其中包含未加反斜杠的字符串,就像您试图传递给
os.system()
的参数一样。