我想将从命令窗口读取的路径名转换为文件名。 例如,转换C:\ TEMP \文件\临时文件到临时文件最后剥离“”
我试图做一些喜欢 -
filename=tempfilename.lstrip('\') #this gave me an error
filename=tempfilename.lstrip('\\') #and this did nothing
我在做什么错? 感谢您的帮助!
我想将从命令窗口读取的路径名转换为文件名。 例如,转换C:\ TEMP \文件\临时文件到临时文件最后剥离“”
我试图做一些喜欢 -
filename=tempfilename.lstrip('\') #this gave me an error
filename=tempfilename.lstrip('\\') #and this did nothing
我在做什么错? 感谢您的帮助!
在Python中,与其他大多数语言一样,字符串可以包含反斜线转义的字符序列,因此您需要编写'\\'
(=代表一个单独的反斜杠),而不是'\'
。
二,没有方法叫做listrip
。对于最后的剥离,您显然需要使用rstrip
,而不是lstrip
。您可以使用os.path.basename
。
与替换 '\' '\\',它应该工作:)
或者是您确信你将永远有一个 '\' 来删除,
filename = tempfilename[:-1]
编辑: oops。真的没有读过q。 tempfilename.split()[-1]
?
我的拳头回答回答称号,并与strip
建议适合的,但在实际的问题,它 说:
例如,转换C:\ TEMP \文件\临时文件到临时文件
。 ...
lstrip()
删除主要字符。也就是说,它会将\\\\\a\b\c\
转换为a\b\c\
。这不是你想要的。使用os.path.basename()
。
我不是Python专家,但也许\是一个转义字符。请尝试\\。你也可以重新检查lstrip是否符合你的想法。 – 2011-02-11 18:02:21
@Jonas:不,这是无效的。所有原始字符串都是,不会评估转义序列。 `r'\'`是一个错误(你逃避了最后的引号),但'r'\\'`是字符串“\\”。 – Blixt 2011-02-11 18:07:53
@Blixt:你是对的。 – 2011-02-12 16:35:09