我正在尝试创建一个小脚本来列出某个扩展名目录中的所有文件。用户将在此处输入windows目录的路径。在
import os
import fnmatch
DIRECTORY = "D:\Movies"
EXTN = "*.mp4"
for dirname, dirnames, filenames in os.walk(DIRECTORY):
# print path to all filenames.
for filename in filenames:
if fnmatch.fnmatch(filename, EXTN):
print(os.path.join(dirname, filename))
我试过了
^{pr2}$我得到了这样一个错误 目录.replace('\', '\') ^ SyntaxError:行续字符后出现意外字符 我正在尝试将windows目录路径自动转换为python3可读路径,但遇到了麻烦。:( 更新: 后续工作
DIRECTORY = r"D:\Movies"
但如果道路是这样的话,情况就不一样了
DIRECTORY = r"D:\"
首先使用原始字符串,您不需要替换(您认为需要的额外斜杠会显示为
repr
以显示反斜杠是转义的,它实际上不是字符串的一部分)。在例如,
r'D:\Movies
不存在反斜杠被误解的风险(如果您显示repr
,它看起来会有两个斜杠,但是通过使用只有一个斜杠的原始字符串可以更容易地键入内容)。在对于用户的任何
input
,它不是一个字符串文本,所以反斜杠转义不会首先被处理,它们已经是正确的了。在字符
\
用于转义字符串之外有意义的内容。这里发生的是反斜杠在转义第一个引号,这意味着最后一个引号没有结束于此的引号。要解决此问题,请通过以下操作来转义所有反斜杠:DIRECTORY.replace('\\', '\\\\')
您需要转义特殊字符:
相关问题 更多 >
编程相关推荐