从txt文件求和字符串长度

2024-09-29 21:37:20 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个txt文件,其名称如下:

Hans
Anna
Vladimir
Michael
Ed
Susan
Janice
Jo

我要打印所有名称长度的总和:

with open(r"C:\people_names.txt", "r") as name_file:
    sum_names = (len(x) for x in name_file)
print(sum(sum_names))

问题是,每个算为字母的名字后面都有“\n”,而姓氏没有“\n”

这就是我不能做的原因

如果您有任何关于如何计算金额的建议,我们将非常高兴:)


Tags: 文件nametxt名称namesfilesumjo
3条回答

读取文件中的每一行:

with open(r"C:\people_names.txt", "r") as name_file:
    name_file = name_file.readlines()
sum_names = [len(x.strip()) for x in name_file]
print(sum(sum_names))

name_file.readlines()返回行列表,这些行由换行符标识。那会解决你的问题。 另一种解决方案是使用splitlines()

with open(r"hello.txt", "r") as name_file:
    name_file = name_file.read().splitlines()
sum_names = [len(x) for x in name_file]
print(sum(sum_names))
with open(r"C:\people_names.txt", "r") as name_file:
    data = name_file.read()  

total_characters = len(data) - data.count("\n")
print(total_characters)

如果文件太大,我不建议使用readlines()
您可以使用rstrip删除每行末尾的\n

with open(r"C:\people_names.txt", "r") as name_file:
    sum_names = [len(x.rstrip('\n')) for x in name_file]
print(sum(sum_names))

相关问题 更多 >

    热门问题