使用命令行argumen读取文件

2024-06-13 01:55:40 发布

您现在位置:Python中文网/ 问答频道 /正文

如何将文件作为命令行参数传递

a=np.loadtxt("graph3.txt",dtype='float')

现在我想将上面的文件graph3.txt作为命令行参数作为pythonx.pygraph3.txt传递,并将执行上述操作a=np.loadtxt文件(“graph3.txt”,dtype='float')上的comman行参数


Tags: 文件命令行txt参数npfloatdtypeloadtxt
1条回答
网友
1楼 · 发布于 2024-06-13 01:55:40

您可以使用像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
网友
2楼 · 发布于 2024-06-13 01:55:40

您可以从sys模块使用argv

from sys import argv print argv

您将在list中获得所有命令行参数,其中0的位置将是脚本本身的名称

[~]$ python script.py arg1 arg2 arg3 arg4 ['script.py', 'arg1', 'arg2', 'arg3', 'arg4']

网友
3楼 · 发布于 2024-06-13 01:55:40

如果您需要支持许多参数并为它们提供帮助用法,我认为optparse和{a2}可以很好地完成这些任务。在

有一个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 -h让脚本打印使用文档。在

相关问题 更多 >