2

我想使用 os.system 或 subprocess.call 或其他方式通过 python 运行程序,但该程序是 32 位程序,而我的 python 是 64 位,无法找到该程序以运行它。通过python运行程序的最简单方法是什么?

更多细节:我正在使用 ubuntu,运行 python 2.7,安装 ia32-libs(程序从命令行完美运行),使用空闲运行 python。

谢谢!

=============(那天晚些时候)==============

好的,我知道了。问题在于仅使用 IDLE 时(不知道为什么)。使用其他 guis (iron python, eclipse) 不会返回错误。

谢谢你们。

4

2 回答 2

1
subprocess.call("command param1 param2", shell=True)

为我工作。你确定这是一个 32/64 位的问题吗?

于 2013-01-10T09:23:03.997 回答
0

我必须同意 Thorsten:这应该可以正常工作。我在 Debian stable 上使用 64 位 python2.6 并使用 xsnow 32 位对其进行了测试:

$ file $(which python2.6)
/usr/bin/python2.6: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.18, stripped

$ file ~/bin/xsnow 
/home/myuser/bin/xsnow: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.8, stripped
aschmitz@dpcl001:~

$ python
Python 2.6.6 (r266:84292, Dec 26 2010, 22:31:48) 
[GCC 4.4.5] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import subprocess
>>> subprocess.call( "~/bin/xsnow", shell=True )
Xsnow-1.42, December 14th 2001 by Rick Jansen (rja@euronet.nl)
WWW: http://www.euronet.nl/~rja/Xsnow/

你能提供一个失败的示例代码吗?

于 2013-01-10T10:00:41.347 回答