我是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)
当我打印它以检查是否完成时,我可以看到行与以前一样。没有任何改变。
有人可以帮我找出原因吗?
答案 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, " ")