从python中的文件中读取文件名

mcE*_*nge 2 python

我正在使用ascii文件读取文件名

with open('FilenamesAsciiFile.txt') as f:
    content = f.readlines()
Run Code Online (Sandbox Code Playgroud)

不幸的是,当我尝试打开文件或检查它是否存在时,我收到一个错误:

filename = content[0]
print filename
print type(filename)

--> myFile.h5
--> <type 'str'>


import os.path
os.path.isfile(filename)

--> False
Run Code Online (Sandbox Code Playgroud)

当我对字符串进行硬编码时,一切正常

os.path.isfile('myFile.h5')

--> True
Run Code Online (Sandbox Code Playgroud)

字符串是该函数的错误输入类型吗?

Eug*_*tov 5

你需要从行修剪'\n':

filename = content[0].strip()
Run Code Online (Sandbox Code Playgroud)


Chr*_*tts 5

您已读入的文件名包含尾随的新行字符.所以你myFile.h5的确是myFile.h5\n.在检查新行之前,您需要删除新行.

import os
os.path.isfile(filename.strip())
Run Code Online (Sandbox Code Playgroud)