IO错误22 python

时间:2015-07-02 08:25:21

标签: python

infile1 = open("D:/p/non_rte_header_path.txt","r")
infile2 = open("D:/p/fnsinrte.txt","r")
for line in infile1:
    for item in infile2:
         eachfile = open(line,"r")

对于上面的代码,我收到以下错误。 infile1包含像D:/folder/Src/em.h这样的may文件的路径,但是这里\ n是自动地在路径的末尾。我不知道为什么会发生这种情况。请帮忙。

IOError: [Errno 22] invalid mode ('r') or filename: 'D:/folder/Src/em.h\n'

1 个答案:

答案 0 :(得分:2)

每个人都提供了评论,告诉你问题是什么,但如果你是初学者,你可能不明白为什么会这样,所以我会解释一下。

基本上,当使用python打开文件时,每个新行(当您按下Enter键时)由" \ n"表示。

当您阅读文件时,它会逐行读取,但除非您删除" \ n",否则您的行变量将会读取

  

thethingsonthatline \ n

这可以用于查看文件是否包含多行,但是您想要删除它。 Edchum和alvits给出了一个很好的方法!

您更正后的代码为:

infile1 = open("D:/p/non_rte_header_path.txt","r")
infile2 = open("D:/p/fnsinrte.txt","r")

for line in infile1:
    for item in infile2:
         eachfile = open(line.rstrip('\n'), "r")