繁体   English   中英

如何以格式化字符串打开文件?

[英]How to open file as formatted string?

我有一系列文件,其中包含许多以{myvar}形式定义的变量。 例如

file.txt

This is {myvar}.

我想打开它们,并让变量正常替换:

with open('path/to/file.txt', 'r') as file:
    myfile = file.read().replace('\n', '')


myvar='myself.'
print(f"{myfile}")

应该输出:

This is myself.

如何以格式化字符串打开文件? 还是将字符串转换为格式化的字符串?

如果变量是调用的局部变量,则这似乎可行;如果它是全局变量,请使用**globals() 您也可以将值放在以变量名作为键的字典中。

myvar = 'myself'
newline = '\n'  # Avoids SyntaxError: f-string expr cannot include a backslash

with open('unformatted.txt', 'r') as file:
    myfile = f"{file.read().replace(newline, '')}".format(**locals())

print(myfile)

你快到了

假设有“这是{myvar}”。 在file.txt中。

编码:

with open('path/to/file.txt', 'r') as file:
    myfile = file.read().replace('\n', '')

myvar='myself'

print(myfile.format(myvar=myvar))

任何纯文本格式的字符串都可以从文本文件中作为变量导入。 然后可以正常操作strings变量。

在这种情况下,键为“ {var}”。 因此,只要定义了变量“ varx”,就可以轻松使用“ .format(var = varx)”。

输出:

这是我自己

而且,如果您要导入具有CSS样式的html模板并替换某些内容,则只需使用“ {{”和“}}”转义“ {”和“}”即可。

示例2在文件中:

这是{{var}}的{myvar}。

输出:

这是我自己的{var}。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM