OSError: [Errno 13] Отказано в разрешении при запуске кода проекта. - PullRequest
0 голосов
/ 10 июля 2020

Я получаю эту ошибку:

Traceback (последний вызов последний): файл «app.py», строка 29, в печати (get_active_window_title ()) Файл «app.py», строка 7 , в get_active_window_title output = subprocess.check_output ('./ app. sh') Файл "/home/rishabh/anaconda2/lib/python2.7/subprocess.py", строка 216, в check_output process = Popen ( stdout = PIPE, * popenargs, ** kwargs) Файл "/home/rishabh/anaconda2/lib/python2.7/subprocess.py", строка 394, в init errread, errwrite) Файл "/ home / rishabh / anaconda2 /lib/python2.7/subprocess.py ", строка 1047, в _execute_child поднять child_exception Ошибка OSError: [Errno 13] Разрешение отказано при запуске кода проекта

, когда я пытаюсь запустить этот код на fre sh ubuntu install, который раньше работал отлично. chmod не работает. Ниже приведен код

import sys
import os
import subprocess
import re
import cv2
def get_active_window_title():
    output = subprocess.check_output('./app.sh')
    if output.decode("utf-8") == "Desktop\n":
        return "Desktop"
    else:
        root = subprocess.Popen(['xprop', '-root', '_NET_ACTIVE_WINDOW'], stdout=subprocess.PIPE)
        stdout, stderr = root.communicate()

        m = re.search(b'^_NET_ACTIVE_WINDOW.* ([\w]+)$', stdout)
        if m != None:
            window_id = m.group(1)
            window = subprocess.Popen(['xprop', '-id', window_id, 'WM_CLASS'], stdout=subprocess.PIPE)
            stdout, stderr = window.communicate()
        else:
            return None

        match = re.match(b'WM_CLASS\(\w+\) = ".*", (?P<name>.+)$', stdout)
        if match != None:
            return match.group("name").strip(b'"')

        return None

if __name__ == "__main__":
                print(get_active_window_title())
...