2016-06-14 3 views
-2

Я студент, который является новичком в python и должен завершить программу python для назначения. Цель программы - найти некоторые целевые строки в списке заголовков новостей.Как ввести # в командной строке python?

Например, есть файл, написанный со списком заголовков новостей. Когда я печатаю это в командной строке:

«питон hw3.py Обама # Trump, Япония # аниме, Хартстон # Overwatch new_list.txt»,

программа возвращает количество названий, которые имеют как «Обама »и« Трамп »в них, а также которые имеют в себе как« Японию », так и« аниме »и т. д.

Однако, когда я отлаживал свою программу, кажется, что командная строка не может прочитать символ «#», потому что слова после # все красные, а результат при вводе строки «Ошибка: синтаксис недействителен ».

Была ли проблема вызвана символом «#»? Поскольку ввод «#» - это требование назначения, поэтому я должен найти способ сделать это правильно. Или проблема была вызвана другой причиной?

Код здесь:

import sys 

if len(sys.argv) < 3: 
    print 'no argument' 
    sys.exit() 

f = open(sys.argv[2], 'r', encoding = 'UTF-8') 

words = sys.argv[1].split(',') 
count = len(words) 
for i in range(0, count, 1): 
    yes[count] = 0 
    word = words[count].decode('utf-8').split('#') 
    while True : 
     x = f.readline() 
     if x == '': 
      break 
     #print(x,end='') 

     else if (word[0] in x) and (word[1] in x): 
      yes[count] += 1 


for j in range (0, count, 1): 
    t = max(yes) 
    for jk in range (0, count, 1): 
     if yes[jk] == t: 
      print words[jk] + ',' + yes[jk] 
      yes[jk] = -1 
      break 


f.close() 

И сообщение здесь:

Python 2.7.11 (v2.7.11:6d1b6a68f775, Dec 5 2015, 20:32:19) [MSC v.1500 32 bit (Intel)] on win32 
Type "copyright", "credits" or "license()" for more information. 
>>> python TocHW3.py 馬英九#蔡英文 new_sample.txt 
SyntaxError: invalid syntax 
+2

Какая операционная система вы используете и какой терминал? – DomTomCat

+0

Windows 10, python 2 – Limoncool

+0

Вы можете просто обернуть свои аргументы кавычками, чтобы оболочка не пыталась их интерпретировать. 'python hw3.py« Обама # Трамп, Япония # аниме, Hearthstone # Overwatch "new_list.txt' –

ответ

0

Если вы хотите, чтобы выполнить файл в питона оболочки с параметрами: вы можете просто использовать : subprocess.call (['./ abc.py', arg1, arg2]) для справки: Execute a file with arguments in Python shell

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