import subprocess import sys username = 'fergus.barker' password = '*************' proxy = 'proxy.det.nsw.edu.au:8080' options = '%s:%s@%s' % (username,password,proxy) subprocess.Popen('export http_proxy=' + options)
但在跑步时,我得到:
Traceback (most recent call last): File "school_proxy_settings.py",line 19,in <module> subprocess.Popen('export http_proxy=' + options) File "/usr/lib/python2.6/subprocess.py",line 621,in __init__ errread,errwrite) File "/usr/lib/python2.6/subprocess.py",line 1126,in _execute_child raise child_exception OSError: [Errno 2] No such file or directory
为什么会这样呢?
解决方法
你可以做这样的事,虽然你必须改变你对Popen的号召.
http://docs.python.org/library/subprocess.html
您可以指定shell = True以使其使用shell命令.
class subprocess.Popen(args,bufsize = 0,executable = None,stdin = None,stdout = None,stderr = None,preexec_fn = None,close_fds = False,shell = False,cwd = None,env = None,universal_newlines = False,startupinfo = None,creationflags = 0)
On Unix,with shell=True: If args is a string,it specifies the command string to execute through the shell. This means that the string must be formatted exactly as it would be when typed at the shell prompt. This includes,for example,quoting or backslash escaping filenames with spaces in them. If args is a sequence,the first item specifies the command string,and any additional items will be treated as additional arguments to the shell itself. That is to say,Popen does the equivalent of:
Popen(['/bin/sh','-c',args[0],args[1],...])
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。