Pythonの%文字列置換を引き起こさないような文字列をマークする方法はありますか?Python:文字列の%s置換を防止する
特に、私はPython sftp
モジュールを使用して%という名前のファイルをダウンロードしようとしています。 SFTPモジュールは、ロギングモジュールを使用してファイルの名前をログに記録しようとします。
self.logger.log(level, msg, *args)
と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モジュールでも、文字列置換に参加していないとファイル名をマークできますか?
あなたはsftpのバグとして報告するべきです:self.logger.log(レベル、 "%s"%msg、* args)を適切にエスケープする必要があります – j13r
合意しました。 – Parand