Python
圖示啟動 python 腳本但不保存 .txt
我使用 tkinter 創建了一個簡單的程序。無論我是通過點擊 piriquita.py 還是通過終端執行它,如果數據 log_piriquita.tx 不存在則創建它,或者如果它已經存在則附加它。事實是:一個 .txt 文件被創建並保存數據。
這是程式碼:
#!/usr/bin/python3 #17.10.2019 terminado 18.10.2019 #programa para cálculos da Piriquita from tkinter import* from datetime import date janela = Tk(className='piriquita') def calcular(): print("calcular") d = float(dose.get()) p = float(peso.get()) c = float(conc.get()) v = d*p/c lbl_resultado['text'] = round(v, 1) data_atual = date.today() data_normal = data_atual.strftime('%d/%m/%Y') f = open('log_piriquita.txt', 'a+') f.write(f'{data_normal}: Dose {d}, peso {p}, conc {c} = {v:.1f}\n') f.close() lbl_dose = Label(janela, text='Dose (mg)', font=(None, 15)) lbl_dose.place(x=10, y= 20) dose = Entry(janela, width="6", font=(None, 15)) dose.place(x=130, y=20) lbl_peso = Label(janela, text='Peso (kg)', font=(None, 15)) lbl_peso.place(x=10, y= 60) peso = Entry(janela, width="6", font=(None, 15)) peso.place(x=130, y=60) lbl_conc = Label(janela, text='Conc.(mg)', font=(None, 15)) lbl_conc.place(x=10, y= 100) conc = Entry(janela, width="6", font=(None, 15)) conc.place(x=130, y=100) bt = Button(janela, text="Calcular", width=5, command = calcular, font=(None, 15), fg='purple') bt.place(x=80, y=140) lbl_resul = Label(janela, text="Resultado", fg="red", font=(None, 22)) lbl_resul.place(x=10, y=200) lbl_resultado = Label(janela, text="0", fg="red", font=(None, 22, 'bold')) lbl_resultado.place(x=190, y=200) janela.geometry("300x250+300+300") janela.title("Piriquita") janela.mainloop()
然後我創建了一個可執行圖示。
[Desktop Entry] Type=Application Terminal=false Name=Piriquita Exec=/home/js/Coding/Atom/Piriquita/piriquita.py Icon=/home/js/Coding/Atom/Piriquita/piriquita1.png StartupWMClass=piriquita
一切都好。它工作正常,但不會像腳本 piriquita.py 那樣創建 log_piriquita.txt。請問我錯過了什麼。
我使用 Mint 19。Python 3.6
先感謝您。
腳本執行時的目前目錄是什麼?這是文件應該出現的位置(可能是您的主目錄)。您應該在程式碼中打開文件時提供絕對路徑,或者使用 .desktop 中的
Path
指令設置應用程序執行時的工作目錄。