簡體   English   中英

如何在python中將sys.argv轉換為argparse

[英]How to convert sys.argv to argparse in python

我有

file1 = sys.argv[1]
file2 = sys.argv[2] 
file2 = sys.argv[3]

我怎么能把它放在argparse中?

准備打開的文件對象:

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()

然后使用options.srcoptions.dst作為已打開的文件對象。

使用--help命令行開關時打印以下內容:

usage: somescript.py [-h] src dst

Process src to dst

positional arguments:
  src
  dst

optional arguments:
  -h, --help  show this help message and exit

如果Martijn的答案中的FileType讓您感到困惑,那么更基本的設置就是

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

測試:

import sys
sys.argv.extend(['file1','file2','file3')
p.parse_args()
# Namespace(file1='file1', file2='file2', file3='file3')

在這里,您可以自己打開文件,而使用FileTypearpgparse會為您執行此操作,並在出現問題時處理錯誤消息。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM