0

ローカルを確立するのに役立つbashスクリプトがありますSimpleHTTPServer

python -m SimpleHTTPServer 8080

これを私のプロジェクトフォルダに入れました。次を使用してプログラムを実行している間:

subprocess.call('./setup.sh')

エラーメッセージが表示されます:

Traceback (most recent call last):
  File "test.py", line 2, in <module>
    subprocess.call('./setup.sh')
  File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/subprocess.py", line 522, in call
    return Popen(*popenargs, **kwargs).wait()
  File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/subprocess.py", line 709, in __init__
    errread, errwrite)
  File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/subprocess.py", line 1326, in _execute_child
    raise child_exception
OSError: [Errno 13] Permission denied

ターミナルでこれを再試行しました

localhost:Desktop XXXX$ sh setup.sh
Serving HTTP on 0.0.0.0 port 8080 ...

正常に動作しています。ターミナルがウィンドウをポップアップして、ファイアウォールに関連する何かについてpythonの許可について尋ねてきたことが何度かあったことを覚えています。手伝って頂けますか?

4

2 に答える 2

1

subprocess.Popen()cwd パラメータで試してみてください:

subprocess.Popen(['sh', './setup.sh'], cwd='/dir/contains/setup.sh/')
于 2013-11-28T07:19:01.487 に答える