将国家/地区代码作为命令行参数输入传递



我有一个程序,可以获取带有raw_input()的国家/地区的代码,然后根据它发送电子邮件。

我的代码是:

import pandas as pd
import pymysql
import sys
data=pd.read_CVS("filename")
country=raw_input("country name : ")
print("country name is :",sys.argv[1])
for index in data['emailid']:
mail= index.split('@')[1]
if(country == 'US'):
if (mail=='yahoo.com'):
print index
elif(country == 'UK'):
if(mail=='yahoo.com' or mail=='yahoo.co.uk'):
print index

我想更改它以将国家/地区代码作为命令行参数输入发送。

例:

python programname.py 'UK'

以及相关的电子邮件 ID 作为输出。

你应该尝试argparse模块,

import argparse
parser = argparse.ArgumentParser(description='Example with non-optional arguments')    
parser.add_argument('country')  
args = parser.parse_args()
country = args.country

raw_input从标准输入中读取,而sys.argv是命令行参数的列表。因此,如果要使用命令行传入国家/地区代码,只需删除包含raw_input的行,然后countrysys.argv[1]

最新更新