[英]How to refer to "\" sign in python string
我在引用字符串中的特殊符号时遇到问题:
我有: path='C:\dir\dir1\dir2\filename.doc'
我想要filename
。
当我尝试时: filename=path[path.rfind("\"):-4]
然后解释器说这是一个错误行,因为它被视为注释。
您可以使用"\\\\"
,从技术上讲,如果您坚持使用反斜杠,最好使用os.path.sep
。 但更好的是,在路径中使用/
,在Windows上可以正常使用
Python具有内置函数来操纵路径 。 请注意,如果您仍希望反斜杠比正斜杠还要加倍,则需要加倍
>>> import os
>>> path='C:\\dir\\dir1\\dir2\\filename.doc'
>>> os.path.splitext(os.path.basename(path))
('filename', '.doc')
并使用正斜杠
>>> path='C:/dir/dir1/dir2/filename.doc'
>>> os.path.splitext(os.path.basename(path))
('filename', '.doc')
可以将其转义为“ \\\\”或使用原始字符串,例如:r“ \\”。
您可以输入双倍的“:”。
但是,要将文件名从Windows文件名中分离出来,请使用os.path.split作为/的分区:
>>> path=r'C:\dir\dir1\dir2\filename.doc'
>>> print path.rpartition('\\')[-1]
filename.doc
常见问题解答中对此有一些说明: 原始字符串(r-strings)为什么不能以反斜杠结尾?
如果要构建Windows路径名,请注意,所有Windows系统调用也都接受正斜杠:
f = open("/mydir/file.txt") # works fine!
如果您要为DOS命令构建路径名,请尝试以下一种方法
dir = r"\\this\\is\\my\\dos\\dir" "\\\\" dir = r"\\this\\is\\my\\dos\\dir\\ "[:-1] dir = "\\\\this\\\\is\\\\my\\\\dos\\\\dir"
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.