回答編集履歴

6

追記

2017/10/09 05:56

投稿

LouiS0616
LouiS0616

スコア35660

test CHANGED
@@ -218,6 +218,8 @@
218
218
 
219
219
  集合形式で引数を与えた方が綺麗そうですね。なんかいい方法あるのかな...
220
220
 
221
+ **↓ ありました**
222
+
221
223
 
222
224
 
223
225
  さらに追記

5

追記

2017/10/09 05:56

投稿

LouiS0616
LouiS0616

スコア35660

test CHANGED
@@ -279,3 +279,13 @@
279
279
  """
280
280
 
281
281
  ```
282
+
283
+
284
+
285
+ こういう風にすれば、『全部保存』という指定も出来ます。...1文字しか減ってませんが。
286
+
287
+ ```Python
288
+
289
+ parser.add_argument('-s', '--save_set', type=(lambda s: 'rgtc' if s == 'all' else s), default='')
290
+
291
+ ```

4

追記

2017/10/09 05:56

投稿

LouiS0616
LouiS0616

スコア35660

test CHANGED
@@ -217,3 +217,65 @@
217
217
 
218
218
 
219
219
  集合形式で引数を与えた方が綺麗そうですね。なんかいい方法あるのかな...
220
+
221
+
222
+
223
+ さらに追記
224
+
225
+ ---
226
+
227
+ こいつでどうだ。
228
+
229
+ ```Python
230
+
231
+ import argparse
232
+
233
+
234
+
235
+ parser = argparse.ArgumentParser()
236
+
237
+ parser.add_argument('-s', '--save_set', default={})
238
+
239
+ args = parser.parse_args()
240
+
241
+
242
+
243
+ if 'r' in args.save_set:
244
+
245
+ print('save rgb')
246
+
247
+ if 'g' in args.save_set:
248
+
249
+ print('save gray')
250
+
251
+ if 't' in args.save_set:
252
+
253
+ print('save thresh')
254
+
255
+ if 'c' in args.save_set:
256
+
257
+ print('save contours')
258
+
259
+
260
+
261
+ """実行例
262
+
263
+ >python hoge.py -s rc
264
+
265
+ save rgb
266
+
267
+ save contours
268
+
269
+
270
+
271
+ >python hoge.py
272
+
273
+
274
+
275
+ >python hoge.py -s r
276
+
277
+ save rgb
278
+
279
+ """
280
+
281
+ ```

3

追記

2017/10/09 05:53

投稿

LouiS0616
LouiS0616

スコア35660

test CHANGED
@@ -90,9 +90,61 @@
90
90
 
91
91
 
92
92
 
93
+ ついでに、画像保存時のフォーマットも指定できるようにしてみたり。
94
+
95
+ ```Python
96
+
97
+ import argparse
98
+
99
+
100
+
101
+ parser = argparse.ArgumentParser()
102
+
103
+ parser.add_argument('-s', '--save', nargs='?', const='./image')
104
+
105
+ parser.add_argument('-f', '--format', default='jpg')
106
+
107
+ args = parser.parse_args()
108
+
109
+
110
+
111
+ if args.save:
112
+
113
+ print(args.save)
114
+
115
+
116
+
117
+ print(args.format)
118
+
119
+
120
+
121
+ """実行例
122
+
123
+ >python hoge.py --save "./result"
124
+
125
+ ./result
126
+
127
+ jpg
128
+
129
+
130
+
131
+ >python hoge.py --save "./result" --format png
132
+
133
+ ./result
134
+
135
+ png
136
+
137
+ """
138
+
139
+ ```
140
+
141
+
142
+
143
+ 追記
144
+
93
145
  ---
94
146
 
95
- つい画像保存時フォーマットも指定きるよにしてみたり
147
+ かなり愚直な方法はありますが一個一個オプションを作るが簡単しょう。
96
148
 
97
149
  ```Python
98
150
 
@@ -102,40 +154,66 @@
102
154
 
103
155
  parser = argparse.ArgumentParser()
104
156
 
157
+ parser.add_argument('--s_rgb', action='store_true')
158
+
105
- parser.add_argument('-s', '--save', nargs='?', const='./image')
159
+ parser.add_argument('--s_gray', action='store_true')
106
-
160
+
107
- parser.add_argument('-f', '--format', default='jpg')
161
+ parser.add_argument('--s_thresh', action='store_true')
162
+
163
+ parser.add_argument('--s_contours', action='store_true')
164
+
165
+ parser.add_argument('--s_all', action='store_true')
108
166
 
109
167
  args = parser.parse_args()
110
168
 
111
169
 
112
170
 
113
- if args.save:
171
+ if args.s_all or args.s_rgb:
114
-
172
+
115
- print(args.save)
173
+ print('save rgb')
174
+
116
-
175
+ if args.s_all or args.s_gray:
117
-
118
-
176
+
119
- print(args.format)
177
+ print('save gray')
178
+
179
+ if args.s_all or args.s_thresh:
180
+
181
+ print('save thresh')
182
+
183
+ if args.s_all or args.s_contours:
184
+
185
+ print('save contours')
120
186
 
121
187
 
122
188
 
123
189
  """実行例
124
190
 
191
+ >python hoge.py
192
+
193
+
194
+
195
+ >python hoge.py --s_all
196
+
197
+ save rgb
198
+
199
+ save gray
200
+
201
+ save thresh
202
+
203
+ save contours
204
+
205
+
206
+
125
- >python hoge.py --save "./result"
207
+ >python hoge.py --s_rgb --s_contours
208
+
126
-
209
+ save rgb
210
+
127
- ./result
211
+ save contours
128
-
129
- jpg
130
-
131
-
132
-
133
- >python hoge.py --save "./result" --format png
134
-
135
- ./result
136
-
137
- png
138
212
 
139
213
  """
140
214
 
141
215
  ```
216
+
217
+
218
+
219
+ 集合形式で引数を与えた方が綺麗そうですね。なんかいい方法あるのかな...

2

追記

2017/10/09 05:38

投稿

LouiS0616
LouiS0616

スコア35660

test CHANGED
@@ -87,3 +87,55 @@
87
87
  """
88
88
 
89
89
  ```
90
+
91
+
92
+
93
+ ---
94
+
95
+ ついでに、画像保存時のフォーマットも指定できるようにしてみたり。
96
+
97
+ ```Python
98
+
99
+ import argparse
100
+
101
+
102
+
103
+ parser = argparse.ArgumentParser()
104
+
105
+ parser.add_argument('-s', '--save', nargs='?', const='./image')
106
+
107
+ parser.add_argument('-f', '--format', default='jpg')
108
+
109
+ args = parser.parse_args()
110
+
111
+
112
+
113
+ if args.save:
114
+
115
+ print(args.save)
116
+
117
+
118
+
119
+ print(args.format)
120
+
121
+
122
+
123
+ """実行例
124
+
125
+ >python hoge.py --save "./result"
126
+
127
+ ./result
128
+
129
+ jpg
130
+
131
+
132
+
133
+ >python hoge.py --save "./result" --format png
134
+
135
+ ./result
136
+
137
+ png
138
+
139
+ """
140
+
141
+ ```

1

追記

2017/10/09 04:16

投稿

LouiS0616
LouiS0616

スコア35660

test CHANGED
@@ -37,3 +37,53 @@
37
37
 
38
38
 
39
39
  上にいくほど簡単/愚直で、下にいくほど柔軟/面倒な設計です。
40
+
41
+
42
+
43
+ ---
44
+
45
+ 一応、コマンドライン引数のサンプルを置いておきます。
46
+
47
+ ```Python
48
+
49
+ # hoge.py
50
+
51
+
52
+
53
+ import argparse
54
+
55
+
56
+
57
+ parser = argparse.ArgumentParser()
58
+
59
+ parser.add_argument('-s', '--save', nargs='?', const='./image')
60
+
61
+ args = parser.parse_args()
62
+
63
+
64
+
65
+ if args.save:
66
+
67
+ print(args.save)
68
+
69
+
70
+
71
+ """実行例
72
+
73
+ >python hoge.py
74
+
75
+
76
+
77
+ >python hoge.py --save
78
+
79
+ ./image
80
+
81
+
82
+
83
+ >python hoge.py --save "./result"
84
+
85
+ ./result
86
+
87
+ """
88
+
89
+ ```