【发布时间】:2023-04-09 15:04:01
【问题描述】:
当我试图在 os.listdir() 中给出 windows 目录路径时,它给出了错误。 我的代码sn-p:
with os.listdir('C:\Users\Hp\Desktop\video') as entries:
我知道 python 将 '\' 作为转义序列,但我在 Windows 上找不到任何替代方案。给出的错误是:
SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 2-3: truncated \UXXXXXXXX
我尝试了以下解决方案,但它给了我一些其他错误:-
AttributeError: __enter__
我的代码有问题吗:
import os
import moviepy.editor as mp
#location = os.path.join("C:", "Users", "Hp", "Desktop", "video")
with os.listdir("C:\\Users\\Hp\\Desktop\\video") as entries:
for entry in entries:
if(".py" or ".png") not in entry:
video = mp.VideoFileClip("entry.name")
logo = (mp.ImageClip("logo.png")
.set_duration(video.duration)
.resize(height=50) # if you need to resize...
.margin(right=8, top=8, opacity=0) # (optional) logo-border padding
.set_pos(("right","top")))
final = mp.CompositeVideoClip([video, logo])
final.write_videofile('o' + "entry.name")
【问题讨论】:
-
添加 `\\` 像这样
with os.listdir("C:\\Users\\Hp\\Desktop\\video") as entries: -
使用
'C:\\Users\\Hp\\Desktop\\video'或'C:/Users/Hp/Desktop/video' -
我尝试了你的两个解决方案,我得到了这个错误:“AttributeError: enter”
-
将 'r' 放在文件路径的前面。像这样 r"C:\\Users\\Hp\\Desktop\\video"。现在 python 将其读取为原始字符串。
标签: python python-3.x windows python-2.7