刚开始使用 Zapier 并构建了一些测试Zap,以深入了解使用Zapier为我的组织提供的功能。
我遇到了一些需要序列化输出的问题。我找到了一个简单的修复方法,将输出值作为一个字符串传递,似乎在每个实例中都能解决这个问题。我的问题是;有谁有什么建议可以清理这个问题或更好的方法让我不必以这种方式输出数据?这样执行脚本有什么问题吗?
我并不是在找人重写我的代码(除非你愿意为一个python新手提供建议),只是在找一些最佳实践的建议。
代码。
import re
emails = re.findall(r'[\w._-]+@[\w._-]+\.[\w._-]+', input_data['Payload'])
url = re.findall('http[s]?://(?:[a-zA-Z]|[0-9]|[$-_@.&+]|[!*\(\),]|(?:%[0-9a-fA-F][0-9a-fA-F]))+', input_data['Payload'])
tid = re.search('(.*) - This',input_data['PayloadText'])
output = [{'Emails': emails,'URLS': url, 'TemplateID': str(tid)}]
这里的这个snipit 'TemplateID': str(tid)
就是这段代码。
我从这个snipit输出的代码是 TemplateID <re.Match object; span=(1059, 1070), match='1283 - This'>
请记住,我知道脚本本身可以使用一些hygene!
感谢任何和所有的帮助
这真的取决于你想在后面的步骤中对数据做什么。把一个字符串化的python regex输入到另一个步骤中,可能不会有太大的用处。我可能会尝试用实际的tempalte id来代替 (1283
). 你也要多加防备,以防没有匹配。
但要回答你的根本问题:不,在步骤之间传递那个字符串并没有什么本质上的问题。Zapier看到的只是一个字符串。