二重の円記号は間違いではありません。Pythonはそれをユーザーに表現します。各二重円記号\\
では、最初の円記号が2番目の円記号をエスケープして、実際の円記号を示します。a = r'raw s\tring'
and b = 'raw s\\tring'
('r'がなく、明示的な二重スラッシュ)の場合、両方とも。として表されます'raw s\\tring'
。
>>> a = r'raw s\tring'
>>> b = 'raw s\\tring'
>>> a
'raw s\\tring'
>>> b
'raw s\\tring'
明確にするために、文字列を印刷すると、パスのように、バックスラッシュが1つだけ付いた、使用されるのと同じように表示されます。
>>> print(a)
raw s\tring
>>> print(b)
raw s\tring
この印刷された文字列の場合、はタブ\t
を意味するのではなく、バックスラッシュの後に文字「t」が続きます。\
それ以外の場合、「r」プレフィックスがなく、バックスラッシュが1つある文字列は、その後の文字をエスケープし、その後の「t」を評価します== tab:
>>> t = 'not raw s\tring' # here '\t' = tab
>>> t
'not raw s\tring'
>>> print(t) # will print a tab (and no letter 't' in 's\tring')
not raw s ring
したがって、PDFパス+名前では:
>>> item = 'xyz'
>>> PDF = r'C:\Users\user\Desktop\File_%s.pdf' % item
>>> PDF # the representation of the string, also in error messages
'C:\\Users\\user\\Desktop\\File_xyz.pdf'
>>> print(PDF) # "as used"
C:\Users\user\Desktop\File_xyz.pdf
表のエスケープシーケンスの詳細については、こちらをご覧ください。__str__
vs__repr__
も参照してください。