python语法分析器。可执行文件和源代码文件作为参数
我不知道如何正确地从命令行传递参数。我想传递一个可执行程序和一个源代码文件作为参数。在我尝试打开源代码文件之前,它似乎工作得很好。我做错了什么 命令行:python语法分析器。可执行文件和源代码文件作为参数,python,python-3.x,Python,Python 3.x,我不知道如何正确地从命令行传递参数。我想传递一个可执行程序和一个源代码文件作为参数。在我尝试打开源代码文件之前,它似乎工作得很好。我做错了什么 命令行: $ my_script.py my_executable source_code.fe 代码: FileType基本上会在open周围生成一个包装器。parse_args返回的值中的属性已经是类似文件的对象 parser = argparse.ArgumentParser(description='Description of progr
$ my_script.py my_executable source_code.fe
代码:
FileType
基本上会在open
周围生成一个包装器。parse_args
返回的值中的属性已经是类似文件的对象
parser = argparse.ArgumentParser(description='Description of program')
parser.add_argument('exe', type=argparse.FileType('r'))
parser.add_argument('src_file', type=argparse.FileType('r'))
args = parser.parse_args()
infile = args.src_file
处理
-
作为标准输入或标准输出的别名,适用于给定模式,以及更好的错误处理。它告诉您什么是错误的?有错误吗?给一个;您发布的内容在语法上似乎无效。如果您使用的是FileType
,则args.exe
和args.src_file
都已经是打开的文件句柄,而不仅仅是文件名。我想argparse.FileType
会为您打开文件;自己调用open
可能不正确。
parser = argparse.ArgumentParser(description='Description of program')
parser.add_argument('exe', type=argparse.FileType('r'))
parser.add_argument('src_file', type=argparse.FileType('r'))
args = parser.parse_args()
infile = args.src_file
def FileType(*args, **kwargs):
def _(fname):
return open(fname, *args, **kwargs)
return _