问题详情
这是我创建的第一个脚本呢,无论内容是什么,都跳出这个提示窗,关键是在这个plugin里面的东西,不是我放置的,那么这里的错误信息代表着什么呢?
运行环境已经配置,这个问题可以排除了。如下:

以下是ChatGpt的回答:
错误可能来自于无效的转义序列或代码中的编码不匹配。以下是你可以尝试解决这个问题的几个步骤:
\
这样的字符,可能被错误地解释或放置。reaper_python.py
中的第 16 行)附近。pythonCopy code
import re
# 正则表达式的示例用法
pattern = r'HWND)X&M([0-9A-F])
确保你的正则表达式模式和你应用它的字符串都被正确格式化和编码。如果问题仍然存在,你可能需要进一步进行调试,或者考虑寻求 Reaper 社区或支持渠道的帮助,以获取有关 Reaper Python API 和你使用的插件的更具体帮助。
try:
# 使用正则表达式的代码
match = re.match(pattern, your_string)
# 检查应用匹配的字符串是否存在编码问题
except UnicodeDecodeError as e:
print(f"UnicodeDecodeError: {e}")
except SyntaxWarning as w:
print(f"SyntaxWarning: {w}")
确保你的正则表达式模式和你应用它的字符串都被正确格式化和编码。如果问题仍然存在,你可能需要进一步进行调试,或者考虑寻求 Reaper 社区或支持渠道的帮助,以获取有关 Reaper Python API 和你使用的插件的更具体帮助。
感谢,我也找过GPT了,做了各种尝试,还是没搞明白,我这脚本里只有三行测试的内容,没有符号,编码保存时也是utf-8,这点是确定的,就是不知道什么原因,用Python写个reaper的脚本,真是困难重重.......555.....................
那就放弃python吧。也许可以拥有eel,lua,jsfx
Python不是reaper的亲儿子
见同类问题解决方式。
用的PyCharm,里面这里默认的是utf-8,难道还有其他地方也要设置一下吗?
reaper支持3.12了吗?
我去,真没考虑这个问题,那我得去官网看看 感谢Z佬提醒
如果方便,发脚本上来看看。
是我看错了。原来是 reaper_python.py 这个文件,它是 REAPER 自带的,语法可能有变。
3.12 测试可用 @Shawn_Holmes_Hu
你是不是某个符号输入成全角或之类的语法错误。
这个一直是这么写的,12是后来才出的,所以可能有关也可能无关。我为什么在很多场合建议新入手写脚本避免用python,就是太多这种可能这可能那的,代码以外的影响因素,导致学习的过程困难重重
Z佬的建议有道理,新手从Python入门,真是不容易
你的 REAPER 版本是?
7.02
RPR_ShowMessageBox("Hello World!", "test", 0)
函数有其它参数的
控制台函数RPR_ShowConsoleMsg( msg )
测试了一下,py函数不能输中文?lua是可以的
我知道问题所在了,首先你用的函数缺少了参数,如这位朋友所述,所以运行不正确。
然后我测试下在 Windows,即使参数正确,也有可能会运行失败。因为 Windows 不是默认 utf-8,可能 REAPER 跟随系统运行在 gbk,运行的时候 utf-8 转到 gbk 有可能会出错。
同样中文 print 乱码也是这个原因。
折中的解决方式是在 控制面板 - 语言区域 - 开启 Beta 的 utf-8 支持。
就能打印中文
但由于 Windows 一直以来都是根据语言选择而决定系统使用的编码,所以有一些其他的中文软件,本来就依着 gbk 去设计,如果启用了这个功能,你会发现有些软件只支持 gbk 的,在 utf-8 下反而是乱码。
Linux 和 macos 默认是 utf-8,所以只有 Windows 用户会遇见这个问题。