当尝试从另一个 python 脚本中运行 python 脚本时,我收到“权限被拒绝”!

x o*_*k x 4 python download sh permission-denied python-2.7

因此,我正在编写一个 python 脚本,它会在脚本开头自动下载更新。好吧,那么?因此,当我尝试覆盖它时,它会sh: /Users/<user>/Desktop/<scriptname>.py: Permission denied使用 CodeRunner 2.0.2、IDLE 2.7.9 和 PythonLauncher。这是受影响的片段:

cwd = os.getcwd()
cwd = (str(cwd) + "/<scriptname>.py")
update = urllib.URLopener()
cwd = str(cwd)
print "Downloading Update..."
update.retrieve("http://<site_domain>/<scriptname>.py",cwd)
time.sleep(1.25)
print "Update Dowloaded! Please Wait..."
time.sleep(2.5)
os.system(cwd)
Run Code Online (Sandbox Code Playgroud)

我发现这很奇怪,因为人们说它应该覆盖没有问题,但是,当没有兄弟时我发现很奇怪.pyc,这意味着它可能一直在尝试同时读写,更不用说它工作正常,然后突然结束了。

Cel*_*leo 7

os.system(cmd)将会通知[current directory]/<scriptname>/py

不要直接调用脚本(它可能不可执行),而是将其传递给 Python:

cwd = os.path.join(os.getcwd(), "<scriptname>.py")
...
os.system('{} {}'.format('python', cmd))
Run Code Online (Sandbox Code Playgroud)