我正在尝试使用Python关闭打开的TextEdit窗口。我可以使用以下命令打开窗口:
import subprocess
p = subprocess.call(['open', 'allen_grammar.txt'])
但是当我尝试使用关闭窗口
p = subprocess.Popen( 'allen_grammar.txt')
p.terminate()
我收到一个权限被拒绝的错误:
p = subprocess.Popen( 'allen_grammar.txt')
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/subprocess.py", line 707, in __init__
restore_signals, start_new_session)
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/subprocess.py", line 1326, in _execute_child
raise child_exception_type(errno_num, err_msg)
PermissionError: [Errno 13] Permission denied
我对该文件拥有完全权限,并且是计算机的管理员。
答案 0 :(得分:0)
对Popen的调用应如下:
return view('coin.news', compact('chart'));
由于我没有TextEdit,所以使用了记事本,您可以在调用 p = subprocess.Popen(['notepad.exe','allen_grammar.txt'])
的过程中替换所需的任何文本编辑器,'notepad.exe'
之后应该可以正常使用
答案 1 :(得分:0)
不是真正的答案,而是成功的解决方法。我必须使用Applescript,然后从Python调用Applescript就像这样:
os.system(f'''/usr/bin/osascript -e 'tell app "TextEdit" to close (every window whose name is "allen_grammar.txt")' ''')