有没有办法标记字符串,使其不会触发python的%字符串替换?
特别是,我正在尝试使用python sftp
模块下载名称包含%的文件。 sftp模块尝试使用日志记录模块记录文件的名称:
self.logger.log(level, msg, *args)
由于%sign:,和logging
抱怨字符串格式化
File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/logging/__init__.py", line 328, in getMessage
msg = msg % self.args
TypeError: not enough arguments for format string
所以:既然我不控制文件名和sftp模块,我可以将文件名标记为不参与字符串替换吗?
答案 0 :(得分:5)
mystring.replace('%', '%%')
可能适合您的需求。 %%
转义%
。