[英]Python not printing file contents in for loop
我在下面有这个代码:
import os
dir = os.listdir('files/')
for file in dir:
print(file)
with open(file, 'r') as f:
x = f.readlines()
print(x)
每当我运行它时,我都会得到以下输出:
TextFile1.txt
[]
TextFile2.txt
[]
在第 2 行和第 4 行中,即使文件有内容,它也会打印出一个空数组。
TextFile1.txt 包含:
code 1
email 1
pw 1
和 TextFile2.txt 包含:
code 2
email 2
password 2
我不确定为什么当文件不为空时它会打印为空数组,任何帮助将不胜感激。
os.listdir
只返回文件名而不是这些文件的完整路径,您需要在打开之前加入目录名和文件名
import os
BASE_DIR = 'files/'
dir = os.listdir(BASE_DIR)
for file in dir:
print(file)
with open(os.path.join(BASE_DIR, file), 'r') as f:
x = f.readlines()
print(x)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.