在Mac上出现的Errno 13权限被拒绝错误

3

我将测试如何从一个 .py 文件调用外部 .py 文件。 我有两个 .py 文件,都在同一个目录中。 这是主文件的代码(runext.py 应该调用 ext.py):

import subprocess
subprocess.call("/Users/training/PycharmProjects/MarcouFirstProject/ext.py")

ext.py只是一个打印"hey this actually worked"的代码。

然而,每次我运行runext.py时,都会收到以下错误信息:

Traceback (most recent call last):
  File "/Users/training/PycharmProjects/MarcouFirstProject/runext.py", line 2, in <module>
    subprocess.call("/Users/training/PycharmProjects/MarcouFirstProject/ext.py")
  File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/subprocess.py", line 557, in call
    with Popen(*popenargs, **kwargs) as p:
  File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/subprocess.py", line 947, in __init__
    restore_signals, start_new_session)
  File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/subprocess.py", line 1551, in _execute_child
    raise child_exception_type(errno_num, err_msg)

PermissionError: [Errno 13] Permission denied

我不知道为什么它会拒绝权限。如果这有助于的话,我的电脑是学校的电脑(我在一个编程课上)。

谢谢。


1
为什么你想通过子进程调用文件而不是直接导入它? - Daniel Roseman
1
ext.py 是否有执行权限?请键入 chmod u+x ext.py - cdarke
1个回答

1
你没有执行文件的权限:/Users/training/PycharmProjects/MarcouFirstProject/ext.py

你可以使用chmod添加+x权限:

chmod +x /Users/training/PycharmProjects/MarcouFirstProject/ext.py

或者,你可以明确地使用Python:

import subprocess
subprocess.call("python /Users/training/PycharmProjects/MarcouFirstProject/ext.py")

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接