Передача кода страны в качестве ввода аргумента командной строки - PullRequest
0 голосов
/ 10 мая 2018

У меня есть программа, которая получает код страны с 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'

и соответствующие идентификаторы электронной почты в качестве вывода.

Ответы [ 2 ]

0 голосов
/ 10 мая 2018

вы должны попробовать argparse модуль,

import argparse

parser = argparse.ArgumentParser(description='Example with non-optional arguments')    
parser.add_argument('country')  
args = parser.parse_args()
country = args.country
0 голосов
/ 10 мая 2018

raw_input читает из стандартного ввода, тогда как sys.argv - список аргументов командной строки. Поэтому, если вы хотите использовать командную строку для передачи кода страны, просто удалите строку, содержащую raw_input, и пусть country будет sys.argv[1].

...