2016-12-06 1 views
0

Je vérifie simplement comment appeler des fichiers .py externes à partir d'un fichier .py. J'ai 2 fichiers .py, tous deux dans le même répertoire. Voici le code pour le principal (runext.py supposé appeler ext.py):Errno 13 Autorisation Refusée sur mac

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

ext.py est juste print("hey this actually worked")

Cependant, chaque fois que je lance runext.py, je reçois ce message d'erreur:

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 

Je ne sais pas pourquoi il refuse la permission. C'est sur un ordinateur scolaire (je suis dans une classe de programmation) si cela aide.

Merci.

+0

Pourquoi voulez-vous appeler le fichier via un sous-processus plutôt que de simplement l'importer? –

+0

Est-ce que 'ext.py' a un accès d'exécution? 'chmod u + x ext.py'. – cdarke

Répondre

0

Vous ne disposez pas des autorisations pour exécuter le fichier /Users/training/PycharmProjects/MarcouFirstProject/ext.py

Vous pouvez ajouter l'autorisation +x en utilisant chmod:

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

Ou, vous pouvez utiliser explicitement python:

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