尝试打开列表时出现错误:SyntaxError:行继续符后出现意外字符

时间:2018-11-01 15:09:03

标签: list python-2.6

我对代码非常陌生,正在尝试编写脚本以打开另一个列表。我不断收到错误

  

SyntaxError:行继续符后的意外字符。

with open(Users/Laura/Desktop/Diss/gene\ list.xlsx) as list_file:
for line in list_file:
    if line.strip():
        keywords.add(line.strip())

任何人都可以告诉我我做错了什么吗?

1 个答案:

答案 0 :(得分:0)

我在第一行看到三个问题:一个是句法问题,两个是逻辑问题。

  1. open函数需要一个 string 。因此,您需要在文件名周围添加单引号或双引号。不使用它们意味着Python将第一个“单词”解释为变量名,之后它有点“ ...?”。因为该行的其余部分没有任何意义。

  2. Python需要对字符串中的某些“特殊”字符进行转义,以使其特殊化(\n转换为文字换行符)或删除的特殊状态(\\仅插入一个反斜杠,而不是两个-这是必需的,因为单个\字符本身就是一个特殊字符)。转义任何其他字符时,\不会被静默删除-保留在字符串中。但是,这意味着您实际上是在寻找带有这些反斜杠的文件名。而且您没有该文件。

  3. 您显然正在使用类似linux的计算机,并尝试访问您的本地文件之一。但是,因为您没有在文件系统的根目录下开始路径名,所以它希望您在当前文件夹内Users 中有一个文件夹(然后在其中有Laura,等等)。您需要在开头添加一个斜杠,以使完整( absolute )路径正确无误,或者删除部分Users/Laura/并以 relative 路径。

相对路径必须假定您当前的工作目录实际上是/Users/Laura。如果不是,您可以使Python为您查找:)

import os
from os.path import expanduser

home = expanduser("~")
print (home)

应显示类似

/Users/Laura

现在您有了自己的“主”目录,可以使用

with open(home+"/Desktop/Diss/gene list.xlsx") as list_file:

,从哪个目录启动程序也无所谓了(并且有了额外的好处,它也适用于其他用户)。