I need to put a lot of filepaths in the form of strings in Python as part of my program. For example one of my directories is D:\ful_automate\dl
. But Python recognizes some of the characters together as other characters and throws an error. In the example the error is IOError: [Errno 22] invalid mode ('wb') or filename: 'D:\x0cul_automate\\dl
. It happens a lot for me and every time I need to change the directory name to one that may not be problematic.
可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试):
问题:
回答1:
The \
character is used to form character escapes; \f
has special meaning.
Use /
or use raw string r''
instead. Alternatively, you could ensure that Python reads the backslash as a backslash by escaping it with an additional \
.
r'D:\ful_automate\dl'
'D:\\ful_automate\\dl'
'D:/ful_automate/dl'
Demo to show the difference:
>>> 'D:\ful_automate\dl'
'D:\x0cul_automate\\dl'
>>> r'D:\ful_automate\dl'
'D:\\ful_automate\\dl'
回答2:
Use raw string instead of string ie use r'filepath' It fixes the problem off blacklash "\"