次のエラーが表示されます。
トレースバック (最後の最後の呼び出し): ファイル "app.py"、29 行目、print(get_active_window_title()) 内 ファイル "app.py"、7 行目、get_active_window_title 出力 = subprocess.check_output('./app.sh' ) ファイル "/home/rishabh/anaconda2/lib/python2.7/subprocess.py"、216 行目、check_output プロセス内 = 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] プロジェクト コードの実行時にアクセス許可が拒否されました
以前は完全に機能していた、新しいubuntuインストールでこのコードを実行しようとしているとき。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())