当我只是将文件夹的路径写入变量时,它可以工作,但是当我在简单的txt文件中读取路径时,它不起作用 示例:
path = "path to a folder"
有效
但是当我使用时:
path = lines[0]
无效
我的应用程序去读取存储路径的txt文件的第一行,然后将其存储在path变量中。
我试图查看路径是否被正确读取,是的,如果我打印路径,它总是很好,但是不起作用。
txt=open('/Users/patrick/Desktop/config.txt','r')
lines = txt.readlines()
path = lines[0]
files = []
for r, d, f in os.walk(path):
for file in f:
files.append(os.path.join(r, file))
答案 0 :(得分:2)
您需要删除white spaces
和\n
新行字符,因为readlines
返回包含\n
的行。
txt=open('/Users/patrick/Desktop/config.txt','r')
lines = [line.strip() for line in txt.readlines()]
path = lines[0]
files = []
for r, d, f in os.walk(path):
for file in f:
files.append(os.path.join(r, file))
您可以使用readlines
字符来使用read
和split
来代替\n
。
text = open('/Users/patrick/Desktop/config.txt','r').read()
lines = text.split("\n")
path = lines[0]
files = []
for r, d, f in os.walk(path):
for file in f:
files.append(os.path.join(r, file))
希望有帮助!
答案 1 :(得分:0)
readline
将尾随换行符留在行中。使用:
path = lines[0].strip()