ฉันหวังว่านี่จะเป็นปัญหาง่ายๆ และฉันแค่ขาดอะไรบางอย่างไป ฉันมีสคริปต์ที่บันทึกไว้ในสองตำแหน่งที่แตกต่างกัน บนเซิร์ฟเวอร์ที่ใช้ร่วมกันของเราและบนเดสก์ท็อปของฉัน เมื่อฉันเรียกใช้สคริปต์จากเซิร์ฟเวอร์ ฉันได้รับสิ่งที่ดูเหมือนจะเป็นข้อผิดพลาด easygui
Traceback (most recent call last):
File "Z:\Python\module1.py", line 35, in <module>
reply = buttonbox(msg=msg,image=IMG)
TypeError: buttonbox() got an unexpected keyword argument 'msg'
นี่ฉันสามารถไปไหนมาไหนได้ ด้วยเหตุผลบางประการ จำเป็นต้องมีข้อความสำหรับเวอร์ชันที่บันทึกไว้บนเซิร์ฟเวอร์ และจำเป็นต้องมีข้อความสำหรับเวอร์ชันที่บันทึกไว้บนเดสก์ท็อปของฉัน ไม่เป็นไรเพราะอย่างน้อยมันก็ใช้งานได้ สิ่งที่ทำลายสิ่งนี้สำหรับฉันคือฟีเจอร์รูปภาพ มันใช้งานได้กับเวอร์ชันบนเดสก์ท็อปของฉัน แต่ฉันไม่รู้ว่าจะทำให้มันทำงานบนเวอร์ชันบนเซิร์ฟเวอร์ของเราได้อย่างไร รหัสเต็มที่แสดงด้านล่าง:
import PIL
from PIL import Image
import os
from easygui import *
import sys
print sys.version, sys.version_info
WORKDIR = "c:\\temp"
DESKTOP = 'c:' + os.environ['HOMEPATH'] + "\Desktop"
os.chdir(DESKTOP)
IMAGES = os.listdir(DESKTOP+"\\New Items Images")
for IMAGE in IMAGES:
path = DESKTOP+"\\New Items Images\\"+IMAGE
#Creates a Tkinter-compatible photo image, which can be used everywhere Tkinter expects an image object.
img = Image.open(path)
width, height = img.size
if width >= height:
basewidth = 600
wpercent = (basewidth / float(img.size[0]))
hsize = int((float(img.size[1]) * float(wpercent)))
else:
baseheight = 600
hpercent = (baseheight / float(img.size[1]))
wsize = int((float(img.size[0]) * float(hpercent)))
img = img.resize((basewidth, hsize), PIL.Image.ANTIALIAS)
img.save(DESKTOP + "\\" + IMAGE)
IMG = DESKTOP+"\\"+IMAGE
SKU = "sku"
msg = "Is %s acceptable?\n%s\n%sx%s" % (IMAGE, SKU, width, height)
reply = buttonbox(msg=msg,image=IMG)
if ynbox == 1:
print "This would now get pushed to CA"
` โดยทั่วไปแล้ว ฉันรู้ว่านี่อาจเป็นโค้ดที่น่าเกลียด แต่นอกเหนือจากนั้น เป้าหมายท้ายเกมคืออะไรเพื่อเปิดภาพ แสดงให้ผู้ใช้เห็น จากนั้นลบภาพที่สร้างขึ้นทั้งหมดออกจากเดสก์ท็อป คำแนะนำหรือความช่วยเหลือใด ๆ ที่จะได้รับการชื่นชมอย่างมาก
os.path.join
สำหรับโฟลเดอร์แทนแบ็กสแลช ถ้าอย่างนั้นคุณลองพิมพ์การโทรไปที่os.path.exist
ด้วยIMG
เพื่อตรวจสอบสิ่งที่เซิร์ฟเวอร์พูดได้ไหม - person Adonis   schedule 12.04.2018