Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python命令";操作系统“;不起作用_Python_Python 3.x_Macos_Python 2.7 - Fatal编程技术网

Python命令";操作系统“;不起作用

Python命令";操作系统“;不起作用,python,python-3.x,macos,python-2.7,Python,Python 3.x,Macos,Python 2.7,所以,我用一个.py文件测试了os.system(call),在那里我只放了通知,这很有效。 但另一个文件不起作用。另一个文件包含大量代码,请从以下内容开始: import sys, socket, subprocess, time, os, platform, struct, getpass, datetime, plistlib, re, stat, grp, shutil import string, json, traceback, pwd, urllib, urllib2, base6

所以,我用一个.py文件测试了os.system(call),在那里我只放了通知,这很有效。 但另一个文件不起作用。另一个文件包含大量代码,请从以下内容开始:

import sys, socket, subprocess, time, os, platform, struct, getpass, datetime, plistlib, re, stat, grp, shutil
import string, json, traceback, pwd, urllib, urllib2, base64, binascii, hashlib, sqlite3, bz2, pickle, ast
import StringIO, zipfile, hmac, tempfile, ssl
from xml.etree import ElementTree as ET
from subprocess import Popen, PIPE
from glob import glob

如何运行该文件

如果这确实是脚本的开始,那么脚本将无法执行。如果要使Python脚本在POSIX系统(包括Mac OS X)上可执行,则需要在文件的最开始处添加一行代码。例如:

#!/usr/bin/env python3
您还需要确保设置了可执行位(
chmod u+x myscript.py

但如果不使用
os.system
,所有这些都可以避免。您已经在导入
子流程
,因此只需使用它:

subprocess.run([sys.executable, "myscript.py"])
这将运行已经运行调用脚本的同一个Python解释器的副本,并告诉它运行您的脚本


(当然,您可以使用
os.system
,如果您想处理字符串连接并可能需要引用,如果您想无缘无故地生成一个额外的shell,如果您想确保您对输出没有控制权……

您可能不应该首先使用
os.system
(您已经在使用
子流程
,因此您应该知道这一点).但与此同时,仅仅向我们展示6行随机且可能不相关的代码并不是一个好主意。向我们展示您如何尝试调用它,以及您遇到了什么错误。请添加更多详细信息,您只发布了导入。此外,为什么这两行代码都被标记为python-3.x和python-2.7?您使用的是哪一行?请定义“不工作”。您收到错误消息了吗?您如何知道它没有运行?您是否测试了
os.system()中的返回代码
?我一直在尝试所有调用…操作系统、子流程等end@Jean-Françoisfare你怎么知道我没有创建名为
myscript
的对象,并将路径名保存到其
.py
属性中的某个脚本?:)谢谢你的回答。当我尝试使用它时,总是会出现错误:
AttributeError:“module”对象没有属性“run”
@VladyslavPG这就是为什么您必须告诉我们您使用的是哪一个版本的Python,而不是用每个版本标记您的问题<例如,3.3或2.6中没有code>run,因此您需要使用
call
check\u call
。有关您的版本,请参阅
子流程
的文档,您可以查看可用的内容。