Python 扫描字符串文字语法错误时出现EOL

Python 扫描字符串文字语法错误时出现EOL,python,Python,我的代码抛出一个异常 path='E:\programming\u section\data\u science\u and\u ml\kist\six\u sem\u project\alImdb' positiveFiles=[x代表os.listdir中的x(路径+“train\pos\”),如果x.endswith(“.txt”)] negativeFiles=[x代表os.listdir中的x(路径+“train\neg\”),如果x.endswith(“.txt”)] testFil

我的代码抛出一个异常

path='E:\programming\u section\data\u science\u and\u ml\kist\six\u sem\u project\alImdb'
positiveFiles=[x代表os.listdir中的x(路径+“train\pos\”),如果x.endswith(“.txt”)]
negativeFiles=[x代表os.listdir中的x(路径+“train\neg\”),如果x.endswith(“.txt”)]
testFiles=[x代表os.listdir中的x(路径+“test\”),如果x.endswith(“.txt”)]
例外情况:

SyntaxError:*扫描字符串文字时下线

如何解决此问题?

请始终记住,斜杠的行为与字符串中的大多数其他符号不同。python中的斜杠通常用于生成特殊字符。尽管如此,请始终记住,python字符串不能以斜杠结尾,您要做的是对其进行转义或使其成为原始字符串,因为它是一个路径。 对于原始字符串,您应该有如下内容

path='E:\programming_section\data_science_and_ml\kist\six_sem_project\alImdb '
positiveFiles = [x for x in os.listdir(path+r"train\pos\") if x.endswith(".txt")]
negativeFiles = [x for x in os.listdir(path+r"train\neg\") if x.endswith(".txt")]
testFiles = [x for x in os.listdir(path+r"test\") if x.endswith(".txt")]
但是,如果你决定要摆脱这些伤痕,那么

path='E:\programming_section\data_science_and_ml\kist\six_sem_project\alImdb '
positiveFiles = [x for x in os.listdir(path + "train\pos" + "\\") if x.endswith(".txt")]
negativeFiles = [x for x in os.listdir(path + "train\neg" + "\\") if x.endswith(".txt")]
testFiles = [x for x in os.listdir(path + "test" + "\\") if x.endswith(".txt")]

您也可以考虑使用OS.PATH。

path='E:\programming_section\data_science_and_ml\kist\six_sem_project\alImdb '
positiveFiles = [x for x in os.listdir(os.path.join(path + "train\pos") if x.endswith(".txt")]
negativeFiles = [x for x in os.listdir(os.path.join(path + "train\neg")) if x.endswith(".txt")]
testFiles = [x for x in os.listdir(os.path.join(path + "test")) if x.endswith(".txt")]

就我个人而言,我建议使用原始字符串选项

您不能以单个尾随斜杠结束字符串,例如
“train\pos\”
。OSError:[WinError 123]文件名、目录名或卷标语法不正确:“E:\\programming\u section\\data\u science\u and\u ml\\kist\\six\u sem\u project\x07lImdb train\\pos\\”出现以下错误,这就是我建议使用原始字符串版本的原因。您还可以考虑使用<代码> OS.PATION.CONTUNE()/<代码>函数。