我有一个带有函数的Python(2.7)文件。我想从命令行调用它并通过param名称传递可选参数。
在我的py文件中,我有这个功能:
def split_file(source_file_path, alt_output_path='', chunk_size=2000000):
在底部我有这个:
if __name__ == '__main__':
split_file(*sys.argv[1:])
如何设置它才能像这样调用它?
> C:\Python27\python C:\Work\file_splitter.py "C:\Work\files\myfile.txt" alt_output_path="C:\EBI\Work\files\alt"
我看了argparser
,这对我来说有点混乱。
答案 0 :(得分:1)
这应该有效:
to_split_args = [a.split("=") for a in sys.argv[1:]]
args = [a[0] for a in to_split_args if len(a) == 1]
kwargs = dict(a for a in to_split_args if len(a) == 2)
split_file(*args,**kwargs)
但你应该深入研究argparser