从txt文件中读取两行文字,然后用replace()把其中的Python替换为Java,但是没有起作用。
这是txt文件:
In Python you can deal with data.
In Python you can get some Internet data.
这是程序:
with open('learning_python.txt') as file_object:
for line in file_object:
line.replace('Python', 'Java')
print(line)
理想输出:
In Java you can deal with data.
In Java you can get some Internet data.
实际输出:
In Python you can deal with data.
In Python you can get some Internet data.
希望大家帮帮忙。
str类型的replace方法是基于复制内容的替换,它应该是这样的格式:def replace(old, new) -> str:
它不会对原字符串进行修改,以起到保护原数据的作用,而被替换后的字符串则作为返回值被函数返回,应当采用赋值语句:line = line.replace('Python, 'Java')
line= line.replace('Java','Python') #要赋值
没有传递替换后的字符串,replace方法不会改变原字符串而是会返回一个修改后的字符串
with open('learning_python.txt','r') as file_object:#'r'表示以只读方式打开文件
for line in file_object:#按换行分割
line_changed = line.replace('Python', 'Java')#将替换后的字符串传递给line,如果不传递line不会变更
print(line_changed,end='')
对替换后的line要进行赋值,否则就会打印没有修改的line
with open('learning_python.txt') as file_object:
for line in file_object:
l=line.replace('Python', 'Java')
print(l)
replace没问题,看看是哪里报错了