gpt4 book ai didi

Python不在for循环中打印文件内容

转载 作者:太空宇宙 更新时间:2023-11-03 19:54:58 25 4
gpt4 key购买 nike

我有下面的代码:

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
[]

在第二行和第四行中,即使文件有内容,它也会打印出一个空数组。

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)

关于Python不在for循环中打印文件内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59596772/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com