在同一行中使用line.replace两次

2024-09-16 20:14:56 发布

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

我正在尝试使用line.replace,以便在进入下一行之前可以替换同一行中的两个单独变量

假设文本文件“file.txt”是:

(1.00)

(2.00)

(3.00)

我想为每行替换(和)为和空。这是我所拥有的

file=open('file.txt', 'r')
file_1=open('file_1.txt', 'w')

for line in file:
  x=line.replace('(', "")
  file_1.writelines(x)

file_2=open('file_1.txt', 'r')
file_3=open('file_2.txt', 'w')

for line in file_2:
  y=line.replace(')', "")
  file_3.writelines(y)

有没有办法让这更有效

谢谢你的帮助

凯尔


Tags: intxtforwritelineslineopenreplacefile
2条回答

您只需在第一次调用replace函数后再次调用它:

for line in file:
    x=line.replace('(', "")
    x=x.replace(')', "")
    file_1.writelines(x)

或者,您甚至可以在同一行上调用replace函数两次:

for line in file:

    x=line.replace('(', "").replace(')', "")

    file_1.writelines(x)

你可以让这更简单。正如其他人所说,您可以调用replace两次,因为它确实返回字符串,所以您可以

for line in file:
  x=line.replace('(', "").replace(')', "")
  file_1.writelines(x)

实际上你也不需要x,所以你可以把它们组合成一行。因为replace函数不断返回字符串,所以该函数可以工作

for line in file:
  file_1.writelines(line.replace('(', "").replace(')', ""))

现在它是一个单行循环,我们可以把它简化为一个列表理解。制作整个程序

file=open('file.txt', 'r')
file_1=open('file_1.txt', 'w')
[file_1.writelines(line.replace('(', "").replace(')', "")) for line in file]

不要犹豫问问题

相关问题 更多 >