如何在关键字后直接替换()列表项中的特定值
How to replace() a specific value within a list item directly after a keyword
目前有一个标准的 txt 样式文件,我正在尝试打开、复制和更改其中的特定值。但是,标准的 replace() fn 不会产生任何差异。文件的第 14 行如下所示:
' Bursts: 1 BF: 50 OF: 1 On: 2 Off: 8'
这是我当前的代码:
conf_file = 'configs/m-b1-of1.conf'
read_conf = open(conf_file, 'r')
conf_txt = read_conf.readlines()
conf_txt[14].replace(conf_txt[14][13], '6')
v_conf
不过,此后,我引用的特定值没有应用任何更改(在本例中,是上面第 14 行中的第一个“1”。
如有任何帮助,我们将不胜感激 - 谢谢!
试试这个
conf_file = 'configs/m-b1-of1.conf'
read_conf = open(conf_file, 'r')
conf_txt = read_conf.readlines()
conf_txt[14] = conf_txt[14].replace(conf_txt[14][13], '6')
替换函数不编辑实际的字符串,它只是returns被替换的值,所以你必须重新定义数组中的字符串
这里我觉得有几点:
- 我复制了你的字符串,第一个
1
实际上是字符12
- 需要将替换结果赋值给某些东西(它会给你一个新的字符串)
- 替换,将所有“1”替换为“6”!
示例:
>>> a = ' Bursts: 1 BF: 50 OF: 1 On: 2 Off: 8'
>>> a = a.replace(a[12], '6')
>>> a
' Bursts: 6 BF: 50 OF: 6 On: 2 Off: 8'
如果您只想替换该字符的第一个实例(或 N 个实例),您需要让 replace()
知道:
>>> a = ' Bursts: 1 BF: 50 OF: 1 On: 2 Off: 8'
>>> a = a.replace(a[12], '6', 1)
>>> a
' Bursts: 6 BF: 50 OF: 1 On: 2 Off: 8'
请注意,上面只替换了“Bursts”而不是“OF”
目前有一个标准的 txt 样式文件,我正在尝试打开、复制和更改其中的特定值。但是,标准的 replace() fn 不会产生任何差异。文件的第 14 行如下所示:
' Bursts: 1 BF: 50 OF: 1 On: 2 Off: 8'
这是我当前的代码:
conf_file = 'configs/m-b1-of1.conf'
read_conf = open(conf_file, 'r')
conf_txt = read_conf.readlines()
conf_txt[14].replace(conf_txt[14][13], '6')
v_conf
不过,此后,我引用的特定值没有应用任何更改(在本例中,是上面第 14 行中的第一个“1”。
如有任何帮助,我们将不胜感激 - 谢谢!
试试这个
conf_file = 'configs/m-b1-of1.conf'
read_conf = open(conf_file, 'r')
conf_txt = read_conf.readlines()
conf_txt[14] = conf_txt[14].replace(conf_txt[14][13], '6')
替换函数不编辑实际的字符串,它只是returns被替换的值,所以你必须重新定义数组中的字符串
这里我觉得有几点:
- 我复制了你的字符串,第一个
1
实际上是字符12 - 需要将替换结果赋值给某些东西(它会给你一个新的字符串)
- 替换,将所有“1”替换为“6”!
示例:
>>> a = ' Bursts: 1 BF: 50 OF: 1 On: 2 Off: 8'
>>> a = a.replace(a[12], '6')
>>> a
' Bursts: 6 BF: 50 OF: 6 On: 2 Off: 8'
如果您只想替换该字符的第一个实例(或 N 个实例),您需要让 replace()
知道:
>>> a = ' Bursts: 1 BF: 50 OF: 1 On: 2 Off: 8'
>>> a = a.replace(a[12], '6', 1)
>>> a
' Bursts: 6 BF: 50 OF: 1 On: 2 Off: 8'
请注意,上面只替换了“Bursts”而不是“OF”