我想在文件的一行中找到值并替换它们。
当我这样做时:
def replace(file_name, name, original_value, new_value):
for line in fileinput.input(file_name, inplace=1):
if name in line:
print(line)
我可以打印出“名称”出现的每一行。
如果我执行以下操作,则即使文件中该行中出现2个值,它也不会打印出该行:
def replace(file_name, name, original_value, new_value):
for line in fileinput.input(file_name, inplace=1):
if name in line and original_value in line:
print(line)
我该如何做IF AND?
//Sample line in my text file
add_argument('--look_for_this', test)
config_name = "look_for_this"
old = 'test'
new = 'new_value'
replace(config_file, config_name, old, new)
答案 0 :(得分:1)
我尝试了如下代码,它对我有用。您必须更详细地说明问题所在!
lines = ['1. a b c', '2. c d e', '3. e f g', '4. c e']
name = 'c'
original_value = 'e'
for line in lines:
if name in line and original_value in line:
print(line)
产生以下输出:
2. c d e
4. c e
您所期望的是什么。因此,我只能假设您的代码中一定存在一些错误,这些错误要么提供name
要么提供original_value
,而不是您期望的形式。或该行的格式不符合您的期望。例如。如果您要查找特定的字节模式或类似的字节码,编码可能会成为问题。