首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Blender中使用graph.sound_bake的Unicode语法错误

Blender中使用graph.sound_bake的Unicode语法错误
EN

Stack Overflow用户
提问于 2014-02-22 00:16:02
回答 2查看 2K关注 0票数 1

我试图用Python在Blender中制作一个音频可视化器,我的代码一直在抛出这个语法错误。

代码语言:javascript
复制
SyntaxError:(unicode error) 'unicodeescape' codec can't decode bytes in position 2-4: truncated \UXXXXXXXX escape location: unknown location :-1
代码语言:javascript
复制
# python file
bpy.ops.graph.sound_bake(filepath="C:\Users\Callum\Desktop\Teardrop.mp3", low= i*step, high=i*step+step)
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-02-22 00:18:52

编辑:

在这条线上:

代码语言:javascript
复制
bpy.ops.graph.sound_bake(filepath=r"C:\Users\Callum\Desktop\Teardrop.mp3", low= i*step, high=i*step+step)

文件路径字符串中的\U被解释为转义序列:

代码语言:javascript
复制
>>> '\U'
  File "<stdin>", line 1
SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 0-1: truncated \UXXXXXXXX escape
>>>

要解决这个问题,在字符串前面放置一个r

代码语言:javascript
复制
bpy.ops.graph.sound_bake(filepath=r"C:\Users\Callum\Desktop\Teardrop.mp3", low= i*step, high=i*step+step)

这将将其转换为不处理转义序列的粗串

代码语言:javascript
复制
>>> r'\U'
'\\U'
>>>

另一种解决方案是将反斜杠转换为正斜杠:

代码语言:javascript
复制
bpy.ops.graph.sound_bake(filepath="C:/Users/Callum/Desktop/Teardrop.mp3", low= i*step, high=i*step+step)

即使您正在运行Windows,Python仍然可以很好地处理文件中的正斜杠。

票数 5
EN

Stack Overflow用户

发布于 2014-02-22 00:19:35

我看到两件事:

代码语言:javascript
复制
if c == columns:
r += 1
c = 0

应该是

代码语言:javascript
复制
if c == columns:
    r += 1
    c = 0

代码语言:javascript
复制
bpy.ops.graph.sound_bake(filepath="C:\Users\Callum\Desktop\Teardrop.mp3", low= i*step, high=i*step+step

遗漏了结束括号。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21947762

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档