通过python终端运行外部程序

时间:2012-11-27 11:11:00

标签: python operating-system system external execute

我尝试运行程序(带有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文件。但这里不是..

2 个答案:

答案 0 :(得分:0)

in.txt是否在运行python脚本的同一目录中?您可能会错误地解释当前工作目录来自函数调用的位置。如果没有,则代替in.txt提供更具体的路径。

此外,在python中有一个subprocess模块用于外部可执行调用。

答案 1 :(得分: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')