1

I'm a Python beginner and now it's freakin me out:

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)

and I get this error:

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

Does anyone know what the issue is?

4

5 回答 5

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)

于 2009-12-21T21:14:39.063 回答
1

显示无形。我敢打赌有一个非法字符(null 是最喜欢的)隐藏在其中一行中并且它没有显示在您的屏幕上。或者文件的行尾类型错误。

我这里的常用技巧:

1)您可能在 StackOverflow 中正确输入了它;尝试将此代码复制回源代码,看看它是否修复了问题。有时很难看出您是否将 ] 放在了 ) 或 } 应该在的位置。

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

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

于 2009-12-21T21:23:54.143 回答
0

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

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

编辑:谷歌快速发现:http ://discussion.forum.nokia.com/forum/showthread.php?t=150563

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

于 2009-12-21T20:57:36.617 回答
0

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

f = urllib.urlopen("http://someurl.com/someText.txt")
lines = f.readlines()
appuifw.selection_list(choices=lines)
于 2009-12-21T20:59:30.837 回答
0

file您正在使用同名变量覆盖内置函数。也许这会让 Py60 有点悲伤?

于 2009-12-21T21:00:35.233 回答