2024-06-13 01:55:40 发布
网友
如何将文件作为命令行参数传递
a=np.loadtxt("graph3.txt",dtype='float')
现在我想将上面的文件graph3.txt作为命令行参数作为pythonx.pygraph3.txt传递,并将执行上述操作a=np.loadtxt文件(“graph3.txt”,dtype='float')上的comman行参数
您可以使用像argparse或docopt这样的库,但是对于简单的任务,只需查看系统argv公司名称:
import sys if len(sys.argv) != 2: print("Please inform the filename") exit(1) fname = sys.argv[1] try: a = np.loadtxt(fname, dtype='float') except IOError: print("File '%s' doesn't exist", fname) exit(1) # Program continues
您可以从sys模块使用argv:
sys
argv
from sys import argv print argv
您将在list中获得所有命令行参数,其中0的位置将是脚本本身的名称
list
0
[~]$ python script.py arg1 arg2 arg3 arg4 ['script.py', 'arg1', 'arg2', 'arg3', 'arg4']
如果您需要支持许多参数并为它们提供帮助用法,我认为optparse和{a2}可以很好地完成这些任务。在
有一个optparse的例子:
optparse
from optparse import OptionParser parser = OptionParser(version="%prog 1.0.0") parser.add_option("-f", "--file", action="store", dest="file", default="graph3.txt", type="string", help="specify a file to load") options, args = parser.parse_args() a=np.loadtxt(options.file,dtype="float")
然后,您可以使用这样的脚本:./script.py -f gragh3.txt或{}。在
./script.py -f gragh3.txt
您可以使用./script.py -h让脚本打印使用文档。在
./script.py -h
您可以使用像argparse或docopt这样的库,但是对于简单的任务,只需查看系统argv公司名称:
您可以从
sys
模块使用argv
:from sys import argv print argv
您将在
list
中获得所有命令行参数,其中0
的位置将是脚本本身的名称[~]$ python script.py arg1 arg2 arg3 arg4 ['script.py', 'arg1', 'arg2', 'arg3', 'arg4']
如果您需要支持许多参数并为它们提供帮助用法,我认为optparse和{a2}可以很好地完成这些任务。在
有一个
optparse
的例子:然后,您可以使用这样的脚本:}。在
./script.py -f gragh3.txt
或{您可以使用
./script.py -h
让脚本打印使用文档。在相关问题 更多 >
编程相关推荐