我是一名刚接触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
答案 0 :(得分:0)
如果你想在python shell中使用参数执行一个文件: 你可以简单地使用:subprocess.call(['./ abc.py',arg1,arg2]) 供参考:Execute a file with arguments in Python shell