无法使用python将json文件打开到搅拌机
Posted
技术标签:
【中文标题】无法使用python将json文件打开到搅拌机【英文标题】:Can't open json file to blender using python 【发布时间】:2021-11-04 13:05:14 【问题描述】:我在 Windows 上使用搅拌机,按照教程:Visualize JSON Data in blender 但我在尝试打开 JSON 文件时卡住了。
我的代码(Windows):
import json
with open('C:\Users\Franktabs\Documents\export.json') as f:
j = json.load(f)
print(j)
他的代码(linux):
import json
with open('/home/chris/Downalds/tutorial.son') as f:
j = json.load(f)
print(j)
错误信息:
Python: File "C:\Users\Franktabs\Documents\Json2.blend\My Script", line 3
with open('C:\Users\Franktabs\Documents\export.json') as f:
^ SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 2-3: truncated \UXXXXXXXX escape
location: <unknown location>:-1
尝试过的解决方案:
使用 import bpy 使用双\ 使用“r” 使用 utf-8 检查文件类型其实是.json 在属性中检查文件的路径和名称解决方案来自有同样问题的人: post1,post2
【问题讨论】:
这能回答你的问题吗? using backslash in python (not to escape) 字符串中的反斜杠(例如您的 Windows 路径)具有特殊含义,必须转义才能按字面意思使用。有关详细信息/解决方法,请参阅上面链接的问题的答案。 将反斜杠\
更改为正斜杠 /
。
@MattDMo 为什么?应该改用os.path.join
。
@OneCricketeer os.path.join
仍然需要一个基本路径,其中几乎肯定会包括\U...
,这是触发 unicode 错误的原因。正斜杠在 Windows 路径文字中是完全可以接受的,并且 OP 声称已经尝试过 \\
和 r
文字(我怀疑这样做是否正确,因为它们失败了,但这是另一个话题)。这只是在不更改实际代码的情况下尝试的其他方法。
【参考方案1】:
如前所述,\U
是一个 unicode 转义字符,很可能是问题的一部分。没有看到 \\
用法或 r''
代码或错误,很难知道可能存在什么问题......
这应该适用于与操作系统无关的解决方案,假设您有一个文件所在的 Documents 目录
import json
import pathlib
with open(pathlib.Path.home() / 'Documents' / 'export.json') as f:
data = json.load(f)
【讨论】:
以上是关于无法使用python将json文件打开到搅拌机的主要内容,如果未能解决你的问题,请参考以下文章
为啥我无法将 3D 动画对象的颜色从搅拌机导出到 Unity?
无法使用 python 将 JSON 文件从谷歌云存储加载到 bigquery