如何在python3中找到文件的长度?

q7solyqu  于 2023-02-21  发布在  Python
关注(0)|答案(3)|浏览(156)

我的网站first.py:

def create_file(file_name):
list=["ab","cd","ef"]
for i in list:
    with open(file_name, "a+") as input_file:
        print(" {}".format(i), file = input_file)

我的网站second.py:

from first import create_file
def read_file(file_name):
# Create file with content
create_file(file_name)

# Now read file content
input_file = open(file_name, 'r')
for text_line in input_file:     
   for line in range(len(input_file)):
      if "cd" in text_line :
         word = (input_file[line + 1])
         print(word)

 read_file('ss.txt')

我找不到input_file的长度。
我不知道为什么。有人能帮帮我吗?
预期输出:
埃夫
然后如果行号= 2,我希望输出为"ef"。

watbbzwu

watbbzwu1#

我在做一个小项目时偶然发现了同样的问题。下面的代码对我很有效:

with open("filename","r") as f:
    print(len(f.readlines()))  # This would give length of files.
nx7onnlm

nx7onnlm2#

我想这就是你要找的。它逐行遍历文件。

input_file = open(file_name, 'r')     
for line in input_file.readlines():
    print(line)

如果您想要文件中的行数,请执行以下操作。

lines_in_file = open(file_name, 'r').readlines()
number_of_lines = len(lines_in_file)

Here's文件操作的基本教程,以供进一步阅读。

uurv41yg

uurv41yg3#

我见过的其他解决方案将所有内容加载到内存中,而我在读到这篇文章时并没有这么做,所以你可以为每一行创建一个手动计数器。

with open(filename, 'r') as read_obj:
reader = reader(read_obj)
counter = 0
for row in reader:
    counter += 1

相关问题