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'
答案 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")