如何在python的命令行中输入#?

时间:2016-06-14 12:05:31

标签: python

我是一名刚接触python的学生,需要完成一个python程序来完成任务。该计划的目标是在新闻标题列表中找到一些目标字符串。

例如,有一个用新闻标题列表写的文件。当我在命令行中键入它时:

“python hw3.py奥巴马#Taxmp,日本#anime,Hearthstone #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

1 个答案:

答案 0 :(得分:0)

如果你想在python shell中使用参数执行一个文件: 你可以简单地使用:subprocess.call(['./ abc.py',arg1,arg2]) 供参考:Execute a file with arguments in Python shell