1,問題描述:在自己電腦上運行沒有問題,打包后在作業的電腦上運行也沒有問題,但是更改“安全.txt”(比如將執行次數更改為)后出現運行不了。
打包用的pyinstaller -F -w
具體代碼如下:
```
# fo = open(r"C:\Users\梁梁梁\Desktop\123.txt","r",encoding="utf-8")
import pyautogui
pyautogui.FAILSAFE = True #安全開關
anquans = [] #安全提取資料
anquan = open(r"C:\Users\start\Desktop\安全.txt","r",encoding="utf-8") #讀取安全組態檔
#anquan = open(r"C:\Users\梁梁梁\Desktop\安全.txt","r",encoding="utf-8")
for line in anquan:
line = line.replace("\n","")
anquans.append(list(map(eval, line.split(","))))
anquan.close() #關閉安全組態檔
c = 1 #為主程式回圈做準備
for a in range(len(anquans)): #遍歷每一行
for b in range(len(anquans[a])): #遍歷每行的每一個元素
if (anquans[a][b] == '暫停間隔'):
pyautogui.PAUSE = anquans[a][b+1] #暫停間隔
if (anquans[a][b] == '執行次數'):
c = anquans[a][b + 1]
def yidong1(): #移動
# print('移動')
pyautogui.moveTo(datals[i][a+1],datals[i][a+2], duration=0.25)
def shubiaozuodanji2(): # 單擊
#print('danji')
pyautogui.click()
def shubiaoyoudanji3(): # 右擊
#print('youji')
pyautogui.rightClick()
def shubiaoshuangji4(): # 雙擊
# print('shuangji')
pyautogui.doubleClick()
def jianpanshuru5(): # 輸入
#print('shuru')
pyautogui.typewrite(datals[i][a + 1])
def jianpananjian6(): # 功能鍵
# print(a)
pyautogui.press(datals[i][a + 1])
def shubiaozhongji7(): # 滑鼠中鍵
#print('zhongji')
pyautogui.middleClick()
def shubiaogunlun8(): # 滑鼠滾輪
#print('zhongji')
pyautogui.scroll(datals[i][a + 1]) #它只接受一個整數。如果值為正往上滾,值為負往下滾。
def zuhejian9(): # 滑鼠滾輪
#print('zhongji')
pyautogui.hotkey(datals[i][a + 1],datals[i][a + 2]) #組合鍵
def default(): # 默認情況下執行的函式
''' e = 2+1
按下mouseDown()和彈起mouseUp()
拖拽dragTo() 和 dragRel()。它的引數和moveTo() 和 moveRel() 一樣。
keyDown():按下某個鍵,keyUp():松開某個鍵,press():一次完整的擊鍵,前面兩個函式的組合
'''
switch = {'1': yidong1, # 注意此處不要加括號
'2': shubiaozuodanji2, # 注意此處不要加括號
'3': shubiaoyoudanji3, # 注意此處不要加括號
'4': shubiaoshuangji4, # 注意此處不要加括號
'5': jianpanshuru5, # 注意此處不要加括號
'6': jianpananjian6,
'7': shubiaozhongji7,
'8': shubiaogunlun8,
'9': zuhejian9,
}
datals = [] #提取資料
f = open(r"C:\Users\start\Desktop\執行流程.txt","r",encoding="utf-8")
#f = open(r"C:\Users\梁梁梁\Desktop\執行流程.txt","r",encoding="utf-8")
for line in f:
line = line.replace("\n","")
datals.append(list(map(eval, line.split(","))))
f.close()
#print(datals)
for d in range(c):
for i in range(len(datals)): #遍歷每一行
for a in range(len(datals[i])): #遍歷每行的每一個元素
# print(datals[i][a])
choice = datals[i][a] # 獲取選擇
switch.get(choice, default)() # 執行對應的函式,如果沒有就執行默認的函式
```
uj5u.com熱心網友回復:
pyinstaller -F -c 打包,看執行報什么錯轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/85418.html
