如何从python中的txt文件替换(或删除)字符串的一部分

时间:2018-06-30 21:52:25

标签: python string

我是python的新手(和一般编程),这是我的问题。我想从包含数百行或数千行的txt文件中替换(或删除)字符串的一部分。每行以我要删除的完全相同的字符串开头。

我还没有找到删除它的方法,所以我尝试用空字符串替换它,但是由于某种原因,它不起作用。

这是我写的:

file = "C:/Users/experimental/Desktop/testfile siera.txt"
siera_log = open(file)

text_to_replace = "Chart: Bar Backtest: NQU8-CME [CB]  1 Min   #1 | Study: free dll = 0 |"

for each_line in siera_log:
     new_line = each_line.replace("text_to_replace", " ")
     print(new_line) 

当我打印它以检查是否完成时,我可以看到行与以前一样。没有任何改变。

有人可以帮我找出原因吗?

2 个答案:

答案 0 :(得分:1)

  

每行都以我要删除的字符串开头。

问题是您传递的是字符串"text_to_replace"而不是变量text_to_replace

但是,对于这个特定问题,您只需从每行中删除前 n 个字符:

text_to_replace = "Chart: Bar Backtest: NQU8-CME [CB]  1 Min   #1 | Study: free dll = 0 |"
n = len(text_to_replace)

for each_line in siera_log:
     new_line = each_line[n:]
     print(new_line) 

答案 1 :(得分:0)

如果引用一个变量,它将成为字符串文字,并且不会被视为变量。

将要替换的行更改为:

new_line = each_line.replace(text_to_replace, " ")