Infile替换清空文件
Infile replacement empties the file
我试图替换 html 的一些行
但结果是空文件。
我正在检查行是否有特定字符串并尝试替换它
with fileinput.FileInput(bmark_file, inplace=True, backup='.bak') as file:
for line in file :
unique="id="+core
if unique in line:
print(line.replace(link['href'], vboard[core.lower()]['benchmarks.tls']), end='')
实际上 infile 模块不应该清空文件,即使条件失败
对此的任何输入都会有所帮助
你 只有 print
在你的测试通过时,所以任何没有通过测试的行都不会在新文件中结束 ( FileInput
和 inplace=True
将原始文件替换为您向 sys.stdout
发送的任何内容;如果您不发送任何内容,它就不会写入任何内容)。如果想让其他行不变通过,需要在else
的情况下输出原来的行:
with fileinput.FileInput(bmark_file, inplace=True, backup='.bak') as file:
for line in file :
unique="id="+core
if unique in line:
print(line.replace(link['href'], vboard[core.lower()]['benchmarks.tls']), end='')
else:
print(line, end='') # Or just sys.stdout.write(line)
您的文件最终为空这一事实意味着 unique in line
测试从未通过,因此您可能期待不存在的数据。
我试图替换 html 的一些行
但结果是空文件。
我正在检查行是否有特定字符串并尝试替换它
with fileinput.FileInput(bmark_file, inplace=True, backup='.bak') as file:
for line in file :
unique="id="+core
if unique in line:
print(line.replace(link['href'], vboard[core.lower()]['benchmarks.tls']), end='')
实际上 infile 模块不应该清空文件,即使条件失败
对此的任何输入都会有所帮助
你 只有 print
在你的测试通过时,所以任何没有通过测试的行都不会在新文件中结束 ( FileInput
和 inplace=True
将原始文件替换为您向 sys.stdout
发送的任何内容;如果您不发送任何内容,它就不会写入任何内容)。如果想让其他行不变通过,需要在else
的情况下输出原来的行:
with fileinput.FileInput(bmark_file, inplace=True, backup='.bak') as file:
for line in file :
unique="id="+core
if unique in line:
print(line.replace(link['href'], vboard[core.lower()]['benchmarks.tls']), end='')
else:
print(line, end='') # Or just sys.stdout.write(line)
您的文件最终为空这一事实意味着 unique in line
测试从未通过,因此您可能期待不存在的数据。