- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我正在使用由 twitch 机器人加载的 python 脚本。不幸的是,该机器人不包含 if then else 的逻辑处理程序,但幸好有 python 脚本支持来处理机器人外部的逻辑。
在导入 urllib 后使用 urllib.urlopen 时返回此错误:
消息:未定义全局名称“PROTOCOL_TLS”
我已经在 IDE 中构建了机器人外部的代码,并且代码执行良好,因此 IronPython 而非常规 Python 似乎需要做一些特殊的事情来处理调用。
整个脚本文件包含返回到集成的附加信息,但整个文件是:
#---------------------------------------
# Import Libraries
#---------------------------------------
import os
import urllib
#---------------------------------------
# Version History
#---------------------------------------
# 1.0.0.0 Initial Release.
#---------------------------------------
# Variables
#---------------------------------------
SettingsFile = os.path.join(os.path.dirname(__file__), "SCShoutoutSettings.json")
#---------------------------------------
# Classes
#---------------------------------------
class Settings(object):
def __init__(self, settingsfile=None):
try:
with codecs.open(settingsfile, encoding="utf-8-sig", mode="r")
as f:
self.__dict__ = json.load(f, encoding="utf-8")
except:
self.Enabled = True
self.Command = "!so"
self.CD_Time = 0
self.Permissions = "Moderator"
self.Fee = False
self.Cost = 0
def Reload(self, jsondata):
self.__dict__ = json.loads(jsondata, encoding="utf-8")
return
def Save(self, settingsfile):
try:
with codecs.open(settingsfile, encoding="utf-8-sig", mode="w+") as f:
json.dump(self.__dict__, f, encoding="utf-8", ensure_ascii=False)
with codecs.open(settingsfile.replace("json", "js"), encoding="utf-8-sig", mode="w+") as f:
f.write("var settings = {0};".format(json.dumps(self.__dict__, encoding='utf-8', ensure_ascii=False)))
except:
Parent.Log(ScriptName, "Failed to save settings to file.")
return
#---------------------------------------
# Initialize Data on Load
#---------------------------------------
def Init():
global ScriptSettings
ScriptSettings = Settings(SettingsFile)
return
#---------------------------------------
# Reload Settings on Save
#---------------------------------------
def ReloadSettings(jsondata):
ScriptSettings.Reload(jsondata)
return
#---------------------------------------
# Script is going to be unloaded
#---------------------------------------
def Unload():
ScriptSettings.Save(SettingsFile)
return
#---------------------------------------
# Script is enabled or disabled on UI
#---------------------------------------
def ScriptToggled(state):
if not state:
ScriptSettings.Save(SettingsFile)
return
#---------------------------------------
# Execute data and process messages
#---------------------------------------
def Execute(data):
if data.IsChatMessage():
global ScriptSettings
if data.GetParam(0).lower() == ScriptSettings.Command:
target = data.GetParam(1)
gameLink = "http://customapi.deepbot.tv/streamgame/" + target
followLink = "http://customapi.deepbot.tv/totalfollows/" + target
twitchLink = "https://twitch.tv/" + target
gameSock = urllib.urlopen(gameLink)
followSock = urllib.urlopen(followLink)
game = gameSock.read()
gameSock.close()
follow = followSock.read()
followSock.close()
if game == "Error reaching Twitch API.":
message = target + " is not a streamer"
else:
message = "Check out " + target + " the last game they were playing was " + game + " they have " + follow + " followers, why not add some more? Go to " + twitchLink
Parent.SendStreamMessage(message)
return
#---------------------------------------
# Tick
#---------------------------------------
def Tick():
return
#---------------------------------------
# SetDefaults Custom User Interface Button
#---------------------------------------
def SetDefaults():
# Globals
global ScriptSettings
# Set defaults by not supplying a settings file
ScriptSettings = Settings()
# Save defaults back to file
ScriptSettings.Save(SettingsFile)
# End of SetDefaults
return
最佳答案
这是由 IronPython 中的一个问题引起的,IronPython 是 streamlabs 聊天机器人中使用的 python 版本(是的,我知道你在谈论那个 ^^)。这是 urllib 使用的 ssl 模块中的问题。这也是为什么聊天机器人预见到以下功能的原因:
https://github.com/AnkhHeart/Streamlabs-Chatbot-Python-Boilerplate/wiki/API-Requests
我正在寻找自己的解决方案,但到目前为止,我不得不重写所有内容才能使用这些功能。这也是为什么 urllib2、requests 和许多其他模块无法工作的原因。
关于python - IronPython 中 urllib 的 PROTOCOL_TLS 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49262712/
虽然我熟悉使用 PythonModule 程序集属性制作 .net 程序集,但我对如何制作子模块有点好奇。这会是类(class)中的类(class)吗?即:如果我有一个定义为 IronPython 模
就目前而言,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引起辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visit the he
有一个名为“Entities”的 IronPython 包。该包包含一个“Entity.py”文件,该文件定义了“Customer”类和“Address”类。 如果我运行这个程序: customer
所以我的数据表结构如下 ColumnName1 | ColumnName2 | ColumnName3 ------------|-------------|------------ value1
我想将 ironpython 作为脚本运行,而不是将 ironpython 代码编译成可执行文件。有没有办法将ironpython作为脚本运行? 最佳答案 是的,解释器安装在 Program File
我在 IronPython 中托管 IronPython。我没有找到使用等效的命令行参数初始化它的方法:-X:FullFrames . 我的代码有点像这样: import clr clr.AddRef
我们将 ironpython 嵌入到我们的应用程序中,以便脚本可以在我们的应用程序上下文中执行。 我使用 Python.CreateEngine() 和 ScriptScope.Execute() 来
我一直在考虑添加 IronPython 来扩展我支持的科学应用程序的想法。 这是一个好主意还是一个可怕的主意? 有没有在生产应用程序中使用 IronPython 的好例子。我看过 Resolver,它
我正在使用 IronPython 脚本来重置所有过滤器并设置一些文档属性。 “FUTUREONLY”下面的文档属性是一个下拉属性控件,根据表达式有 3 种可能的选择。当我运行脚本时,它会将文档属性重置
在查看了这两个项目中的每一个之后,似乎两者都非常相似。两者都运行在 CLI 之上,都有 Python 风格的语法,都使用 .NET 而不是标准的 Python 库。 那么,它们之间的区别和各自的优势是
我正在尝试使用 Microsoft.Web.Administration 库远程管理 IIS7 安装。 我在 IronPython 中执行此操作: import Microsoft.Web.Admin
有没有等同于Cython的东西对于 IronPython?也就是说,一种使用类型注释来编译简单函数以提高性能的方法?我知道 IronPython 的一个好处是能够快速地用 C# 或 F# 之类的东西编
我正在考虑使用 IronPython 开发一个小型应用程序,但是我想将我的应用程序分发给非技术人员,因此理想情况下我希望能够为他们提供我的应用程序的标准快捷方式以及他们需要的说明首先安装 IronPy
我在条形图上使用以下代码来切换维度。 myChart.XAxis.Expression = "[Sales]" myChart.BarWidth = 1
如何使用 Ironpython 返回 Spotfire 文件中文档属性的完整列表。 属性可以通过设置 Document.Properties["myProperty"] = "myValue" 我想做
我正在尝试使用 IronPython.Hosting 和 Pygments 为我的博客创建 ASP.NET 语法荧光笔。问题是,如果没有黑客攻击,Pygments 至少不能在 IPy 2.0 上运行。
我在 Windows XP (SP3) 系统上安装了 Aptana Studio 3 和 Eclipse 4.2.1(带 PyDev 和 PyDev 扩展)。我一直未能成功加载外部 .NET 程序集。
大家早上好, 我已经在这个问题上工作了几天,但我找不到解决办法。我已经研究并谷歌搜索无济于事。任何帮助/见解将不胜感激。我正在尝试创建一个按钮,单击该按钮时将自动通过日期过滤器(比如说从 1/1/15
想必大家都已经听说过some key developers leaving the Dynamic Languages team的消息了。由于他们认为 Microsoft 对动态语言的支持正在减弱。
我试图从经理的角度回答这个问题:如果我们用 IronPython 而不是 C# 编写应用程序,我们会招致什么整体性能损失? 这个问题是针对那些可能已经进行了一些测试、基准测试或已经完成从 C# 到 I
我是一名优秀的程序员,十分优秀!