我还没有发现任何相关问题或使用f字符串生成Python代码的Python代码示例。我应该知道一个潜在的问题吗? f弦真的很方便,而且似乎可以满足我的需求。
我正在生成一些可在命令行中使用的python脚本,用于自动处理具有遥感图像的文件夹。我本来要手工手工编写一些文件,但意识到通过将有关表达式的元数据外化来实现该过程相对容易。
程序逻辑:
一旦确定要使用的方法,我还将自动生成一些测试。 f字符串不能有效处理代码是否存在限制?
有人讨论了使用Jinja2之类的Python模板。但是,如果f字符串足够,我不希望集成另一个外部依赖项。
ALTER TABLE [dbo].EmailTB ADD CONSTRAINT [DF_Email_CustomerID]
DEFAULT (NEXT VALUE FOR dbo.CustomersSeq) FOR CustomersID
GO
ALTER TABLE [dbo].PhoneTB ADD CONSTRAINT [DF_Phone_CustomerID]
DEFAULT (NEXT VALUE FOR dbo.CustomersSeq) FOR CustomersID
GO
我可能只是过于谨慎,但我认为该主题也可以解决其他应用程序。
关于使用f字符串进行Python代码生成或其他工具的其他提示吗?
答案 0 :(得分:0)
您极有可能尝试实施违反DRY原则的解决方案。
与其生成许多特定命令,不如传递一个名称参数,该名称参数又可以与选择的参数一起使用。
在标准库中,一些有用的工具是from xmlrpc.client import ServerProxy
client = ServerProxy("http://localhost:8282"
print(client.hello("me")) # OK
# Trying to set the web engine's html content:
print(client.set_minibuffer("me") # fails
,--- starting server…
127.0.0.1 - - [27/Mar/2019 16:52:01] "POST /RPC2 HTTP/1.1" 200 -
Received signal 11 SEGV_MAPERR 000000000000
#0 0x7f9b5bf3e8bf <unknown>
#1 0x7f9b5bf3ecbb <unknown>
#2 0x7f9b5bf3f33e <unknown>
#3 0x7f9b6667ef20 <unknown>
#4 0x7f9b5b9f3515 <unknown>
#5 0x7f9b5b9f37eb <unknown>
#6 0x7f9b5b9f3b79 <unknown>
#7 0x7f9b5a4731c0 QtWebEngineCore::WebContentsAdapter::setContent()
#8 0x7f9b610c7bf5 QWebEnginePage::setHtml()
#9 0x7f9b612fb824 meth_QWebEngineView_setHtml
#10 0x0000005030d5 <unknown>
#11 0x000000506859 _PyEval_EvalFrameDefault
#12 0x000000504c28 <unknown>
#13 0x00000058644b <unknown>
#14 0x00000059ebbe PyObject_Call
#15 0x000000507c17 _PyEval_EvalFrameDefault
[…]
,configparser
,shlex
和cmd
。请参阅这些工具的标准库文档。
Click是一个有趣的第三方程序包。
感谢@SergeBallesta的有用评论。