我想实现从Windows到Linux的POpen-code: [英] I want to realize Popen-code from Windows to Linux:

查看:0
本文介绍了我想实现从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解释器中运行:

  1. 将hello.py的第一行改为#!/usr/bin/env python
  2. 执行chmod a+x hello.py操作,将文件hello.py标记为在Linux中可执行。
  3. 在外壳中运行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:的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆