简单的代码,但找不到错误(PyS60但不具体)

时间:2009-12-21 20:52:34

标签: python pys60

我是一名Python初学者,现在它让我感到非常震惊:

L = []
file = urllib.urlopen("http://someurl.com/someText.txt")
line = file.readline()
while line != "" :
  L.append(line)
  line = file.readline()
appuifw.selection_list(choices=L)

我收到此错误:

 line = file.readline()
 ^
SyntaxError: invalid syntax

有谁知道这是什么问题?

5 个答案:

答案 0 :(得分:2)

重写

file = urllib.urlopen("http://blabla.com/bla.txt")
lines1 = file.readlines()
for li in lines1:
  L.append(li)
index = appuifw.selection_list(choices=L)
它似乎现在起作用了。
(仍然存在问题,但我认为这是URL)

答案 1 :(得分:1)

显示隐形。我打赌隐藏在其中一行中的非法字符(null是最喜欢的)并且它没有出现在你的屏幕上。或者文件的行结尾可能不正确。

我常用的技巧:

1)你可能在StackOverflow中输入了它;尝试将此代码复制回源代码,看看它是否修复了问题。有时很难看出你是否应该把a)或}放在哪里。

2)注释掉所有行,然后逐个取消注释,直到再次出现语法错误。如果在注释掉所有其他行时出现语法错误,那么真正的问题就在于上游。

3)删除有问题的行,并在其下方和上方删除几行。在一次操作中删除这些行;你不希望坏角色留在身边,因为它位于你一次删除一行的两行之间。然后重新键入这些行。不要将它们粘贴回来;这可能只是将问题粘贴回来。

答案 2 :(得分:0)

似乎在我的Python解释器(2.6.1)中工作正常。

我认为你先做了import urllib吗? (不这样做会导致NameError,而不是SyntaxError。)

编辑:快速Google发现了这一点:http://discussion.forum.nokia.com/forum/showthread.php?t=150563

它已经有18个月了,但它声称PyS60是Python 2.2.2。我在我的机器上没有这个,但是如果这是问题可能值得一看。

答案 3 :(得分:0)

我实际上没有看到问题,除非你在缩进中混合制表符和空格,在这种情况下错误应该抱怨缩进级别。但我想我会指出有一种更清晰的方式来读取类文件对象中的所有行:

f = urllib.urlopen("http://someurl.com/someText.txt")
lines = f.readlines()
appuifw.selection_list(choices=lines)

答案 4 :(得分:0)

您正在使用相同名称的变量覆盖内置函数file。也许这导致Py60有些悲伤?