我有目录,包含 '\ X ..' 字符,如 '\ X00':更换 ' X ..' litteral字符串在Python
#ls
c\x00mb
,我想他们没有这些重命名,因为当我将这些文件复制到窗口时,它们变得无法使用。 所以我的Python脚本正在经历这些目录和检测存在问题的字符的方式如下:
if '\\x' in dir: # dir is the name of the current directory
首先,我想我可以使用Python中的re
模块摆脱这个问题的:
new_dir_name = re.sub('\x00', r'', dir) # I am using \x00 as an example
但这没有奏效。有没有办法可以用python替换字符?
编辑: 为了解字符,当我管ls
到xxd
'\'字符出现在ascii表示中。在十六进制它显示 '5C'
我会先在python中做一个'os.listdir()',并验证python认为这些目录名称的字符串表示是什么样的。 – turbulencetoo
可以像'new_dir_name = dir.replace'('\ 0','')一样简单' – turbulencetoo
os.listdir(dir_path)给出'c \\ x00mb'。让我试试dir.replace – aze