gpt4 book ai didi

python - 以任何顺序解析python中的参数

转载 作者:太空宇宙 更新时间:2023-11-04 05:06:14 24 4
gpt4 key购买 nike

我正在尝试解析命令行参数,但我以前从未这样做过。我尝试了一些东西。下面的代码是我尝试的最后一件事,但我收到了错误:“无法识别的参数”。我希望能够放置类似

的内容
copy-column-csv.py cname=Quiz source=source.csv target=target.csv out=out.csv

在命令行上,但也有能力以任何顺序使用它。我不知道该怎么做。下面是我的代码:

import argparse
import sys, re
import numpy as np
import smtplib
from random import randint
import csv
import math
import pandas as pd

parser = argparse.ArgumentParser()
parser.add_argument('-cname')
parser.add_argument('-source')
parser.add_argument('-target')
parser.add_argument('-out')
args = parser.parse_args()


#col = sys.argv[1]
#source = sys.argv[2]
#target = sys.argv[3]
#newtarg = sys.argv[4]


sourceFile = pd.read_csv(source)
targetFile = pd.read_csv(target)
del targetFile[cname]
targetFile[col] = pd.Series(sourceFile[col])
targetFile.to_csv(out, index = False)

最佳答案

假设参数格式正确,您可以将 sys.argv 拆分成一个字典:

args_dict = {}
for arg in sys.argv[1:]:
split = arg.split('=')
args_dict[split[0]] = split[1]

args_dict 看起来像这样:

{'cname': 'Quiz',
'out': 'out.csv',
'source': 'source.csv',
'target': 'target.csv'}

您可以像这样访问元素:

print args_dict['cname']
print args_dict['out']
print args_dict['source']
print args_dict['target']

关于python - 以任何顺序解析python中的参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44415769/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com