我需要使用numpy模块在python中生成随机矩阵。矩阵应该从命令行获得它的尺寸,这是我遇到麻烦的部分。我想知道如何从命令行中的输入读取维度。
答案 0 :(得分:4)
<强> temp.py 强>
expected a type, got 'FirstMapper'
从命令行使用:
import argparse
from numpy.random import rand
parser = argparse.ArgumentParser()
parser.add_argument("x", type=int, help="number of rows")
parser.add_argument("y", type=int, help="number of columns")
args = parser.parse_args()
print rand(args.x, args.y)
答案 1 :(得分:2)
让argparse为你做繁重的工作
import argparse
import argparse
parser = argparse.ArgumentParser(description='Create a Numpy Matrix')
parser.add_argument('width', type=int, help='Matrix Width')
parser.add_argument('height', type=int, help='Matrix Height')
args = parser.parse_args()
print(args.width)
print(args.height)
然后调用你的脚本:
python script.py 50 20
答案 2 :(得分:2)
如何使用sys.argv
?
<强> my_file.py 强>
import sys
import numpy as np
print sys.argv
print np.random.random((int(sys.argv[1]), int(sys.argv[2])))
结果:
$ python my_file.py 3 5
['my_file.py', '3', '5']
[[ 0.03555021 0.46601168 0.54834666 0.78802335 0.67905328]
[ 0.11735256 0.17789133 0.69066883 0.12928539 0.90023792]
[ 0.12968023 0.05540043 0.03892649 0.99929185 0.22661845]]