python-3.x - TKinter 将用户名和密码保存在字符串文件中
问题描述
我正在尝试设计一个界面,允许用户使用从数据库中提取的 csv 文件下载带有用户名和密码凭据的数据。目标是将连接详细信息与该文件中的一些详细信息“某种”合并,以生成 CURL 字符串作为文本文件
这是我的 csv 文件示例:
Fichier,No. de document,DocumentId,Filename
rar,008_029_ENS_EXE_CCE_PGC_IRE_001,1348828088588073573,NRO-08-029-Saint-Laurent.rar
pdf,08_001_059_DOE_CCR_CNV_SAD_001,1348828088574792249,08_001_059_DOE_CCR_CNV_SAD_001_B3.pdf
pdf,08_001_059_DOE_SRO_LST_LOD_001,1348828088574845667,08_001_059_DOE_SRO_LST_LOD_001_A3.pdf
这是我的“python”脚本:
import sys
import os
import csv
import subprocess
from tkinter import *
from tkinter import ttk
from tkinter import filedialog
root = Tk()
root.title('Aconex Download Manager')
root.geometry("465x230")
def AddConnection():
if not entry_user.get() or not entry_pass.get():
messagebox.showerror('Invalid', 'Empty username or password')
else:
addconnect = open ("XXXXXX.txt", "w") # don't know what to do in order to keep username and password
addconnect.write(entry_user.get() + ':' + entry_pass.get())
return
def UploadAction():
filename = filedialog.askopenfilename(initialdir = "/",title = "Select file",filetypes = (("csv files","*.csv"),("all files","*.*")))
def SaveAction(event=None):
directory = filedialog.askdirectory()
def ConvertTool():
data_out = open('download_list.txt', 'w')
with open(filename) as csv_file:
csv_reader = csv.DictReader(csv_file, delimiter=',')
for row in csv_reader:
data_out.write('curl -u '+ (entry_user.get() + ':' + entry_pass.get())' +' -o ' +'"'+ (row['Filename']) +'" '+ 'http://my-website.com/268441485/register/' +""+ (row['DocumentId'])+""+"\n")
data_out.close()
def DownloadTool():
subprocess.call([r'.\bat\download_tool.bat'])
def QuictAction():
root.destroy()
Label(root, text = "Username :").grid(row = 0, padx = 3, pady = 3)
entry_user = Entry(root, width = "30")
entry_user.grid(row = 0, column = 1, padx = 1, pady = 10, ipady = 3)
password = Label(root, text = "Password :").grid(row = 1, padx = 3, pady = 3)
entry_pass = Entry(root,width = "30", show ='*')
entry_pass.grid(row = 1, column = 1, padx = 1, pady = 10, ipady = 3)
button4 = ttk.Button(root, text = ">> Converting Data from CSV", width = 30, command = ConvertTool).grid(row = 3, column = 1, padx = 10, pady = 10, sticky = "nw")
button5 = ttk.Button(root, text = "Download >>", width = 25, command = DownloadTool).grid(row = 3, column = 2, padx = 10, pady = 10, sticky = "ne")
separatorLEFT = ttk.Separator(root, orient = HORIZONTAL).grid(row = 2, column = 1, columnspan = 2, padx = 10, pady = 20, sticky = "ew")
button2 = ttk.Button(root, text = "Select CSV File", width = 25, command = UploadAction).grid(row = 0, column = 2, padx = 10, pady = 10, sticky = "ne")
button3 = ttk.Button(root, text = "Select Download Folder", width = 25, command = SaveAction).grid(row = 1, column = 2, padx = 10, pady = 10, sticky = "ne")
separatorRIGHT = ttk.Separator(root, orient = HORIZONTAL).grid(row = 2, column = 1, columnspan = 2, padx = 10, pady = 20, sticky = "ew")
button6 = ttk.Button(root, text = "Close ", width = 6, command = QuictAction).grid(row = 4, column = 2, padx = 10, pady = 10, sticky = "ne")
root.mainloop()
如您所见,我不是编码员,我只能破解一些代码。我可能需要有一天永远学习 Python ..^^ 我想在最后得到一个列表(.txt),如下所示:
curl -u john:connor -o NRO-08-029-Saint-Laurent.rar http://my-website.com/268441485/register/1348828088588073573
curl -u john:connor -o 08_001_059_DOE_CCR_CNV_SAD_001_B3.pdf http://my-website.com/268441485/register/1348828088574792249
curl -u john:connor -o 08_001_059_DOE_SRO_LST_LOD_001_A3.pdf http://my-website.com/268441485/register/1348828088574845667
对不起,如果不是很清楚,但我的想法就像我的代码......真的很乱。预先感谢您的所有建议。
干杯。
解决方案
推荐阅读
- r - 如何使用变量名中的多个正则表达式对数据框进行子集化?
- android - 如何修复没有这样的 NoSuchMethodError 颤振 tabView?
- python - 并行运行 luigi 任务
- excel - BOF 或 EOF 为 True ,或当前记录已被删除
- python - 为 geopandas 图生成图例
- php - 将 html mysql 表导入到 php 中。大数字在excel文件中转换为指数
- java - 当我在其他活动中使用 mqtt 客户端时,他们向我显示错误
- angular - 如何在两次上传相同文件时正确清除 ngx-material-file-input 以检测更改
- oracle - 让函数返回表的更新部分
- c# - Azure Functions - 输出绑定理由