代码拉取完成,页面将自动刷新
可满足Python教学工作者的日常基础Python课程教学,即在放映PowerPoint时可以直接运行Python代码并显示代码运行结果,使课程教学过程更加高效、便捷!已支持中文utf-8
编码
Private Sub CommandButton1_Click()
'写入代码
Dim f, txt, result As String
f = "run.py"
Open f For Output As #1
Print #1, TextBox_in.Value
Close #1
'中文编码问题,需将文件转为utf-8编码格式
Dim fileName As String
fileName = "run.py"
Call ConvFile(fileName, fileName)
'运行Python文件并重定向结果
Dim res As Long
res = Shell("cmd.exe /C python " & "run.py > res.txt", vbHide)
'延时处理
Dim Savetime As Single
CommandButton1.Caption = "运行中..."
Savetime = Timer '记下开始的时间
While Timer < Savetime + 1 '循环等待
DoEvents '转让控制权,以便让操作系统处理其它的事件
Wend
CommandButton1.Caption = "运行Python代码"
'读取结果
Open "res.txt" For Input As #1
Do While Not EOF(1)
Line Input #1, txt
result = result & txt & vbCr
Loop
Close #1
TextBox_out.Text = result
End Sub
Private Sub ConvFile(InputFile As String, OutputFile As String)
Dim ReadStream As Object
Set ReadStream = CreateObject("ADODB.Stream")
Dim FileContent As String
With ReadStream
.Type = 2 'adTypeText
'.Charset = "UNICODE"
.Charset = "GB2312" ' ANSI
'.Charset = "UTF-8"
.Open
.LoadFromFile InputFile
FileContent = .ReadText
.Close
End With
Set ReadStream = Nothing
Dim WriteStream As Object
Set WriteStream = CreateObject("ADODB.Stream")
With WriteStream
.Type = 2 'adTypeText
.Charset = "UTF-8"
.Open
.WriteText FileContent
.SaveToFile OutputFile, 2 'adSaveCreateOverWrite
.Flush
.Close
End With
Set WriteStream = Nothing
End Sub
由于个人能力有限,目前仅支持对于简单基础的Python代码的嵌入式运行,无法满足带有输入的代码(如input()
等)以及一些调用复杂库的代码输出。只能满足日常基础Python课程的需要
学生 计算机科学与技术本科在读 前端初学者
微信公众号:浙江技术救命稻草
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。