не в состоянии сохранить графическое изображение черепахи - PullRequest
0 голосов
/ 27 февраля 2020

Я использую Excel VBA для вызова файла python, чтобы нарисовать графику черепахи и сохранить ее в файле .ps, но файл не сохраняется. когда я выполняю напрямую из командной строки, он сохраняет файл. Может кто-нибудь помочь, пожалуйста!

Вот команды VBA

Sub RunPythonScript()
'Declare our variablesstrong text
Dim objShell As Object
Dim PythonExe, PythonScript As String
Dim a, b, c, k, t As Integer
'Creae as a new shell Object
Set objShell = VBA.CreateObject("Wscript.Shell")
a = Range("e3").Value
b = Range("f3").Value
c = Range("g3").Value
k = Range("h3").Value
'Provide the file path to the Python Exe
PythonExe = """C:\Windows\py.exe"""
PythonScript = "D:\comsol\code0.5.py"
objShell.Run PythonExe & PythonScript & " " & a & " " & b & " " & c & " " & k
End Sub

А вот код python

import os
import sys

t=turtle.Turtle()

a=int(sys.argv[1])
b=int(sys.argv[2])
c=int(sys.argv[3])
k=int(sys.argv[4])

for i in range(k):
    t.color("Black","Black")
    t.begin_fill()
    t.forward(a)
    t.left(90)
    t.forward(b)
    t.left(90)
    t.forward(a)
    t.left(90)
    t.forward(b)
    t.end_fill()
    t.penup()
    t.left(90)
    t.forward(c+a)
    t.pendown()
    t.color("Yellow","Yellow")
    t.begin_fill()
    t.forward(a)
    t.left(90)
    t.forward(b)
    t.left(90)
    t.forward(a)
    t.left(90)
    t.forward(b)
    t.end_fill()
    t.penup()
    t.left(90)
    t.forward(c+a)
    t.pendown()

command=turtle.getscreen().getcanvas().postscript(file='canva1.ps')
os.system(command)
turtle.done()
...