teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

追記

2018/05/27 11:04

投稿

hayataka2049
hayataka2049

スコア30939

answer CHANGED
@@ -1,4 +1,14 @@
1
1
  とりあえず、これでやってみてください。
2
2
  ```python
3
3
  result = subprocess.run('python self.py', shell=True, check=True, # result = の行を書き換え
4
- ```
4
+ ```
5
+
6
+ 複数の引数でコマンドを指定することはできないので、こうする必要があります。下のようにしても良いです。
7
+
8
+ ```python
9
+ result = subprocess.run('python self.py'.split(), check=True, # この場合shell=Trueは外して良い
10
+ # あるいは
11
+ result = subprocess.run(['python', 'self.py'], check=True, # 上と同じことだが、リストにして与える
12
+ ```
13
+
14
+ No such file or directoryが出たら、フルパスでの指定を試してください。もしwindows環境だと、パスに入る`\`がエスケープと解釈されるので注意。その場合は文字列の先頭にrを付けて`r'path'`とし、raw string扱いにして回避できます。