我有一个Python脚本名称为neural_net.py。它对 mnist 数据集进行分类。我想做的是通过命令行获取用户的输入来运行它。以下代码片段正在获取用户的输入
file=input()
from PIL import Image
im = Image.open(file).convert('L')
imr=np.array(im).T
single_test = imr.reshape(1,400)
plt.figure(figsize=(5,5))
plt.imshow(imr)
print("value is",nn.predict(single_test))
Run Code Online (Sandbox Code Playgroud)
在命令提示符下我必须按如下方式运行它
python neural_net.py
Run Code Online (Sandbox Code Playgroud)
执行上面的行,然后给出输入
pic_0.png
Run Code Online (Sandbox Code Playgroud)
它返回给我输出。我想要的是将上述两件事作为单个命令完成,例如
python neural_net.py pic_0.png
Run Code Online (Sandbox Code Playgroud)
在代码中使用
import sys
file = sys.argv[1]
Run Code Online (Sandbox Code Playgroud)
为拿到它,为实现它。
现在你可以运行它
python neural_net.py pic_0.png
Run Code Online (Sandbox Code Playgroud)
并将file是pic_0.png
如果您运行更多参数
python neural_net.py pic_0.png pic_1.png pic_2.png
Run Code Online (Sandbox Code Playgroud)
那么你就会有sys.argv[2]、sys.argv[3]等价值观pic_1.png,pic_2.png
如果您需要更复杂的解决方案,例如
script.py --input pic_0.png --output image.png
Run Code Online (Sandbox Code Playgroud)
然后查看模块argparse
import argparse
parser = argparse.ArgumentParser()
parser.add_argument('-i', '--input')
parser.add_argument('-o', '--output', default='output.png')
args = parser.parse_args()
file = args.input
output_file = args.output
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7663 次 |
| 最近记录: |