我正在尝试编写一个代码,使每行的第一个字母都大写,但它无法执行到第 6 行之后if l[0].islower():。当它l[0]在循环之外时工作正常,但当我将其放回循环中时总是显示“字符串索引超出范围”。m = open(r"C:\Users\■■■■■■\Desktop\■■■■\other.txt","r", encoding = "utf-8") #Just blocking the text outwhile True: l = m.readline() if l[0].islower(): l.replace(l[0],l[0].upper()) print(l) if not l: breakm.close()
3 回答
芜湖不芜
TA贡献1796条经验 获得超7个赞
您还可以更轻松地逐行迭代文件。
path = r"other.txt"
with open(path, 'r') as file:
for line in file:
print(line.capitalize())
元芳怎么了
TA贡献1798条经验 获得超7个赞
l[0]将检查放在循环的开头而不是结尾,因为即使lis也会继续访问None。
while True:
l = m.readline()
if not l:
break
if l[0].islower():
l.replace(l[0],l[0].upper())
print(l)
m.close()
SMILET
TA贡献1796条经验 获得超4个赞
with open("content.txt", 'r') as file:
while 1:
content = file.readline()
if not content:
break
print(content.capitalize())
print("Done !")
你可以用这个。
添加回答
举报
0/150
提交
取消