Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/297.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在python中将sys.argv转换为argparse_Python_Python 2.7_Python 3.x - Fatal编程技术网

如何在python中将sys.argv转换为argparse

如何在python中将sys.argv转换为argparse,python,python-2.7,python-3.x,Python,Python 2.7,Python 3.x,我有 如何将其放入argparse?准备打开的文件对象: file1 = sys.argv[1] file2 = sys.argv[2] file2 = sys.argv[3] 然后将options.src和options.dst用作已打开的文件对象 使用--help命令行开关时打印以下内容: import argparse, sys parser = argparse.ArgumentParser(description='Process src to dst') parser.add_

我有


如何将其放入argparse?

准备打开的文件对象:

file1 = sys.argv[1]
file2 = sys.argv[2] 
file2 = sys.argv[3]
然后将
options.src
options.dst
用作已打开的文件对象

使用
--help
命令行开关时打印以下内容:

import argparse, sys

parser = argparse.ArgumentParser(description='Process src to dst')
parser.add_argument('src', type=argparse.FileType('r'),
                    default=sys.stdin)
parser.add_argument('dst', type=argparse.FileType('w'),
                    default=sys.stdout)
options = parser.parse_args()

如果Martijn回答中的
文件类型
让您感到困惑,则需要更基本的设置

usage: somescript.py [-h] src dst

Process src to dst

positional arguments:
  src
  dst

optional arguments:
  -h, --help  show this help message and exit
使用以下各项进行测试:

import argparse
p=argparse.ArgumentParser()
p.add_argument('file1')
p.add_argument('file2')
p.add_argument('file3')

在这里,您可以自己打开文件,而使用
FileType
arpgparse
可以为您打开文件,并在出现问题时处理错误消息。

您要分配
file2
两次吗?
import sys
sys.argv.extend(['file1','file2','file3')
p.parse_args()
# Namespace(file1='file1', file2='file2', file3='file3')