回答編集履歴

2

説明追加

2021/03/06 09:47

投稿

ppaul
ppaul

スコア24670

test CHANGED
@@ -7,3 +7,129 @@
7
7
 
8
8
 
9
9
  ループを行いたくない理由は何かあるのでしょうか。
10
+
11
+
12
+
13
+ 理由はなんとなくわかりました。
14
+
15
+
16
+
17
+ subprocessの使い方の例です。
18
+
19
+
20
+
21
+ 同一フォルダ内に master.py と worker.py を置いてあります
22
+
23
+ master.pyの中身です。
24
+
25
+
26
+
27
+ ```master
28
+
29
+ import subprocess
30
+
31
+
32
+
33
+ def check_login_id(x):
34
+
35
+ return True
36
+
37
+
38
+
39
+ def check_login_pass(x):
40
+
41
+ return True
42
+
43
+
44
+
45
+ if __name__ == '__main__':
46
+
47
+
48
+
49
+ WORKER = "worker.py"
50
+
51
+
52
+
53
+ while True:
54
+
55
+ login_id = input('enter login_id: ')
56
+
57
+ if login_id in 'eEqQ':
58
+
59
+ exit(0)
60
+
61
+ if check_login_id(login_id) == False:
62
+
63
+ exit(1)
64
+
65
+ login_pass = input('enter login_pass : ')
66
+
67
+ if check_login_pass(login_pass) == False:
68
+
69
+ exit(1)
70
+
71
+ subprocess.run(["python", WORKER, login_id, login_pass])
72
+
73
+ ```
74
+
75
+
76
+
77
+ worker.pyの中身です。
78
+
79
+
80
+
81
+ ```worker
82
+
83
+ import sys
84
+
85
+
86
+
87
+ login_id = sys.argv[1]
88
+
89
+ login_pass = sys.argv[2]
90
+
91
+
92
+
93
+ print('login_id =', login_id)
94
+
95
+ print('login_pass =', login_pass)
96
+
97
+
98
+
99
+ print('COMPLETE')
100
+
101
+ ```
102
+
103
+ 事項例は以下です。
104
+
105
+ ```shell
106
+
107
+ (base) subprocess> python master.py
108
+
109
+ enter login_id: aaa
110
+
111
+ enter login_pass : bbb
112
+
113
+ login_id = aaa
114
+
115
+ login_pass = bbb
116
+
117
+ COMPLETE
118
+
119
+ enter login_id: xxx
120
+
121
+ enter login_pass : yyy
122
+
123
+ login_id = xxx
124
+
125
+ login_pass = yyy
126
+
127
+ COMPLETE
128
+
129
+ enter login_id: e
130
+
131
+ (base) subprocess>
132
+
133
+ ```
134
+
135
+ このように、パラメータの設定はmaster.pyで行い、実作業はworkerが実行するようにしてみてはどうでしょうか。

1

変更

2021/03/06 09:47

投稿

ppaul
ppaul

スコア24670

test CHANGED
@@ -1 +1,9 @@
1
+ import[自身]をやっても、一回しかできなくて、二回目は動かないですね。
2
+
3
+
4
+
1
- そういうこをせずに、ファイル(必要があれば回数を決めて)ループさるのが普通です
5
+ 無理やりやるしたらそのファイルの中自分自身のファイルを別名でコピーしてimportすれば、できないことはありま
6
+
7
+
8
+
9
+ ループを行いたくない理由は何かあるのでしょうか。