Icon 启动 python 脚本但不保存 .txt

Icon 启动 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

先感谢您。

答案1

脚本运行时当前目录是什么?这是文件应该出现的位置(可能是您的主目录)。在代码中打开文件时应该给出绝对路径,或者使用Path指示在 .desktop 中设置应用程序运行时的工作目录。

相关内容