Python -字符串格式化或字符串插值从一个文件的文本字符串



我想创建一个python脚本,循环遍历文件夹中的一堆文件,并用脚本中的变量替换一些格式化的文本。

对于(非常简化的)示例,一个文件夹包含两个文件:

greeting.sql与文本

select greeting
from greeting_list
where name = {name}

credentials.sql与文本

select credentials
from credentials_list
where name = {name}

python脚本然后可以拉入这些文本文件,并插入脚本,将文本中的{name}变量替换为预定义变量,如name = 'Bob'

之类的
fd = open('greeting.sql', 'r')
greeting = fd.read()
fd.close()
names = ['Jeff','Melanie','Nitin','Satya','Serena']
[run_sql(greeting.format(n)) for n in names] 

我通常使用插入字符串,如f'Greeting for {name} is {greeting}',所以我非常有信心我在这里使用.format()没有意义。

这个操作的要点是允许分析人员更新和维护SQL代码,同时让python脚本拉入正确版本的脚本并使用各种变量运行它。

好吧,问题是非常明确的,我是懒惰与我的.format()知识,因为f字符串似乎更容易。解决方案很简单:

对于上面相同的greeting.sql文件,

py_name = 'Bob'
print(greeting.format(name = py_name))

是漂亮的

相关内容

  • 没有找到相关文章

最新更新