2017-01-20 2 views
1

Я пытаюсь передать через файл из командной строки для использования в моем питона код, я использую команду следующим образом:Довод ошибка синтаксического анализа: слишком мало аргументов

C:\xampp\htdocs\py>twitter_checker.py -u C:\xampp\htdocs\py\test.txt 

Теперь, когда я запускаю эту команду Я получаю следующее сообщение об ошибке

usage: twitter_checker.py [-h] u

twitter_checker.py: error: too few arguments

Как я могу это исправить, так что я могу передать файл мой .txt более использовать в open()

# _*_ coding: utf-8 _*_ 

# Check if twitter usernames exist or are available 

import argparse as ap 
import requests 

def args(): 
    """ Get the arguments passed from the CLINE """ 
    parser = ap.ArgumentParser() 
    parser.add_argument("u", help="The text file with all your usernames in") 
    return parser.parse_args() 

def checker(): 
    """Loop through lines and check for available usernames""" 
    argslist = args() 
    usernames = open(argslist.u, "r") 
    lines = usernames.readlines() 
    usernames.close() 

    for line in lines: 
     url = "https://twitter.com/" + line 
     check = requests.get(url) 
     if check.status_code == 404: 
      print line + ' is avaialble' 
     else: 
      print line + ' is taken...' 
checker() 
+0

http://stackoverflow.com/questions/28032916/python-command-line-too-few-arguments?rq=1 – jophab

ответ

2

parser.add_argument неверен для того, что вы указываете в качестве аргумента.

C:\xampp\htdocs\py>twitter_checker.py -u C:\xampp\htdocs\py\test.txt 

Следует использовать:

parser.add_argument("-u", help="The text file with all your usernames in") 

Примечание -u вместо u ... переключить один или другой (или аргумент, или анализатор).

Смежные вопросы