【发布时间】:2019-01-02 17:48:58
【问题描述】:
在 Python 3.6.5 中,这可以正常工作:
command = "ffmpeg -i {0} -vsync 0 -q:v 2 -vf select=\"eq(pict_type\,PICT_TYPE_I)\" -r 30 {1}/frame%03d.jpg".format(file_path, output_path)
这显然是一个很长的行,所以我使用了一个续行:
command = "ffmpeg -i {0} -vsync 0 -q:v 2 -vf select=\"eq(pict_type\,PICT_TYPE_I)\" -r 30 {1}/frame%03d.jpg"\
.format(file_path, output_path)
但是,在启动时,这会生成一个DeprecationWarning:
DeprecationWarning: invalid escape sequence \,
command = "ffmpeg -i {0} -vsync 0 -q:v 2 -vf select=\"eq(pict_type\,PICT_TYPE_I)\" -r 30 {1}/frame%03d.jpg"\
这不是,但是:
command = "foo {0} bar {1}"\
.format(file_path, output_path)
我在项目的其余部分都使用续行;没有一个导致DeprecationWarning。像this one 这样的其他问题提到了这个警告,但没有关于我能找到的连续字符的问题。
是什么导致了这个警告,为什么它只出现在这种非常狭窄的情况下?
编辑:这与续行无关。仅在某些时候出现错误的原因与 Django 的runserver 有关。第一次运行runserver,没有报错。但是如果更改导致重新加载,则在重新加载器运行时会报告错误。
【问题讨论】:
标签: python django python-3.x