2016-12-06 10 views
0

Я просто тестирую, как вызывать внешние .py-файлы из одного .py-файла. У меня есть 2 файла .py в обоих каталогах. Вот код основным (runext.py предположим называть ext.py):Errno 13 Permission Denied on mac

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

ext.py просто print("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 

Я не знаю, почему это отрицает разрешение. Это на школьном компьютере (я в классе программирования), если это помогает.

Спасибо.

+0

Почему вы хотите вызвать файл через подпроцесс, а не просто импортировать его? –

+0

Имеет ли 'ext.py' выполнение доступа? 'chmod u + x ext.py'. – cdarke

ответ

0

У вас нет разрешения на выполнение файла /Users/training/PycharmProjects/MarcouFirstProject/ext.py

Вы можете добавить разрешение +x с помощью CHMOD:

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

Или, вы можете использовать питон явно:

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