I want to realize Popen-code from Windows to Linux:(我想实现从Windows到Linux的POpen-code:)
本文介绍了我想实现从Windows到Linux的POpen-code:的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我想实现从Windows到Linux的代码:
a=subprocess.Popen(['python.exe','hello.py'])
推荐答案
有两个问题。首先,python.exe
在Linux中被简单地称为python
,其次,python可执行文件不在当前目录中,而是位于系统路径中的某个位置。要让Linux在路径中查找python
,您可以让POpen使用一个外壳:
a=subprocess.Popen(['python','hello.py'], shell=True)
或者您可以使用env
程序查找它:
a=subprocess.Popen(['/usr/bin/env', 'python','hello.py'])
作为第三种选择,您可以使用Linuxshebang方法启动hello.py
脚本,并通过以下三项操作让Windows文件关联在python解释器中运行:
- 将hello.py的第一行改为
#!/usr/bin/env python
- 执行
chmod a+x hello.py
操作,将文件hello.py标记为在Linux中可执行。 在外壳中运行
hello.py
脚本a=subprocess.Popen('hello.py', shell=True)
这将使脚本在Windows和Linux中以相同的方式工作。
请注意Shebang行:hello.py
必须使用UNIX行结束约定保存,否则会出现一个模糊的‘pythonNot Found’错误。这是由额外的‘
‘由Windows编辑器添加,让外壳程序查找名为'python
'
的文件--这个文件当然不存在。您可以使用dos2unix
工具将hello.py
转换为UNIX行结尾。所有受人尊敬的文件编辑器在设置为Unix后都将保留行尾。
这篇关于我想实现从Windows到Linux的POpen-code:的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
沃梦达教程
本文标题为:我想实现从Windows到Linux的POpen-code:
基础教程推荐
猜你喜欢
- 线程时出现 msgbox 错误,GUI 块 2022-01-01
- Python kivy 入口点 inflateRest2 无法定位 libpng16-16.dll 2022-01-01
- 如何让 python 脚本监听来自另一个脚本的输入 2022-01-01
- Dask.array.套用_沿_轴:由于额外的元素([1]),使用dask.array的每一行作为另一个函数的输入失败 2022-01-01
- 在 Python 中,如果我在一个“with"中返回.块,文件还会关闭吗? 2022-01-01
- 如何在海运重新绘制中自定义标题和y标签 2022-01-01
- 何时使用 os.name、sys.platform 或 platform.system? 2022-01-01
- 筛选NumPy数组 2022-01-01
- 用于分类数据的跳跃记号标签 2022-01-01
- 使用PyInstaller后在Windows中打开可执行文件时出错 2022-01-01