"replace \ with \ in python 3"
"replace \ with \\ in python 3"
我正在尝试创建一个小脚本来列出某个扩展目录中的所有文件。用户将在此处输入 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))
我试过了
DIRECTORY.replace('\', '\')
print(DIRECTORY)
我收到这样的错误
DIRECTORY.replace('\', '\')
^
SyntaxError:行继续字符后出现意外字符
我正在尝试将 windows 目录路径自动转换为 python 3 可读路径,但我碰壁了。 :(
更新:
以下作品
DIRECTORY = r"D:\Movies"
但如果路径是这样的话,同样不会
DIRECTORY = r"D:\"
您需要转义特殊字符:
DIRECTORY.replace('\', '\\')
字符\
用于转义在字符串之外具有重要意义的事物。这里发生的事情是反斜杠转义了第一个引号,这意味着最后一个引号没有引号结束。要解决此问题,请执行以下操作转义所有反斜杠:DIRECTORY.replace('\', '\\')
首先使用原始字符串,你不需要替换(你认为你需要的额外斜线显示为 repr
以表明反斜线被转义,它实际上不是字符串).
例如 r'D:\Movies
没有反斜杠被误解的风险(如果你显示 repr
,它看起来有两个斜杠,但使用 raw 更容易输入只有一个字符串)。
对于用户 input
的任何内容,它都不是字符串文字,因此首先不处理反斜杠转义,它们已经是正确的。
我正在尝试创建一个小脚本来列出某个扩展目录中的所有文件。用户将在此处输入 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))
我试过了
DIRECTORY.replace('\', '\')
print(DIRECTORY)
我收到这样的错误 DIRECTORY.replace('\', '\') ^ SyntaxError:行继续字符后出现意外字符 我正在尝试将 windows 目录路径自动转换为 python 3 可读路径,但我碰壁了。 :( 更新: 以下作品
DIRECTORY = r"D:\Movies"
但如果路径是这样的话,同样不会
DIRECTORY = r"D:\"
您需要转义特殊字符:
DIRECTORY.replace('\', '\\')
字符\
用于转义在字符串之外具有重要意义的事物。这里发生的事情是反斜杠转义了第一个引号,这意味着最后一个引号没有引号结束。要解决此问题,请执行以下操作转义所有反斜杠:DIRECTORY.replace('\', '\\')
首先使用原始字符串,你不需要替换(你认为你需要的额外斜线显示为 repr
以表明反斜线被转义,它实际上不是字符串).
例如 r'D:\Movies
没有反斜杠被误解的风险(如果你显示 repr
,它看起来有两个斜杠,但使用 raw 更容易输入只有一个字符串)。
对于用户 input
的任何内容,它都不是字符串文字,因此首先不处理反斜杠转义,它们已经是正确的。