[PYTHON] Klassifizieren Sie häufig verwendete Datei- / Ordner-Dialoge

Dialogfeld "Datei / Ordner klassifizieren"

Ich erstelle oft während der Arbeit Dateidialogbildschirme. Erstellen Sie jedes Mal die folgenden Elemente.

Ich habe es so klassifiziert, dass es leicht als mein Memorandum wiederverwendet werden kann. Unten ist der Quellcode. Es enthält auch die Klassenvererbung (für Ihr eigenes Memorandum).

import os 
import csv
import tkinter as tk
from tkinter import filedialog


class Dialog_menu_screen(object):

	def __init__(self,screen_title,screen_size,path_label,dialog_btn,start_btn):
		self.screen_title = screen_title
		self.screen_size = screen_size
		self.path_label = path_label
		self.dialog_btn = dialog_btn
		self.start_btn = start_btn
	

	#Hauptbildschirmanzeige
	def show_main_screen(self):
		root = tk.Tk()
		root.title(self.screen_title)
		root.geometry(self.screen_size)

		#Widget-Erstellung
		#Sie können eine Methode mit einem Argument mit Lambda lesen.
		path_label = tk.Label(root,text=self.path_label)
		path_box = tk.Entry(root,width=45)
		dialog_btn = tk.Button(root,text=self.dialog_btn,command=lambda:self.show_dialog(path_box))
		start_btn = tk.Button(root,width=10,text=self.start_btn,command=lambda:self.execute_button(path_box.get()))
		
		#Widget-Position
		path_box.grid(row=0,column=1,padx=10,pady=10)
		dialog_btn.grid(row=0,column=2,padx=10,pady=10)
		path_label.grid(row=0,column=0,padx=10,pady=10)
		start_btn.grid(row=1,column=2,padx=10,pady=10)

		root.mainloop()

	
	#Dateidialog anzeigen
	def show_dialog(self,path_box):
		file_type = [('CSV-Text','*.csv')] 
		folder_place = 'C:\\pg'
		file_path = filedialog.askopenfilename(filetypes = file_type, initialdir = folder_place) 

		#Wenn Sie die Abbrechen-Taste nicht drücken
		if len(file_path) > 0 :
			path_box.delete(0,tk.END)
			path_box.insert(tk.END,file_path)

	
	#CSV-Daten anzeigen.
	def execute_button(self,path_box):
		except_list = []
		with open(path_box,mode='r') as f:
			read_file = csv.reader(f)
			list_data = [row for row in read_file]
			print(list_data)
			return list_data


class Dialog_directory_screen(Dialog_menu_screen):
	#Ordnerdialog anzeigen
	def show_dialog(self,path_box):
		folder_place = 'C:\\pg'
		folder_path = filedialog.askdirectory(initialdir = folder_place) 

		#Wenn Sie die Abbrechen-Taste nicht drücken
		if len(folder_path) > 0 :
			path_box.delete(0,tk.END)
			path_box.insert(tk.END,folder_path)


	def execute_button(self,path_box):
		print(os.listdir(path_box))

	
if __name__ =="__main__":
	screen_title = "Lesen Sie CSV"
	screen_size = "500x90"
	path_label = "Speicherort:"
	dialog_btn = 'Speicherort...'
	start_btn = 'Lauf'

	csv_instance = Dialog_menu_screen(screen_title,screen_size,path_label,dialog_btn,start_btn)
	csv_instance.show_main_screen()


	screen_title = "Durchsuchen Sie den Ordnerinhalt"
	directry_instance = Dialog_directory_screen(screen_title,screen_size,path_label,dialog_btn,start_btn)
	directry_instance.show_main_screen()


das ist alles.

Recommended Posts

Klassifizieren Sie häufig verwendete Datei- / Ordner-Dialoge
[Linux] Häufig verwendete Linux-Befehle (Dateibetrieb)
[Linux] Häufig verwendete Linux-Befehle (Ordneroperation)
pyenv Häufig verwendete Befehle
Häufig verwendeter Befehl tmux
Häufig verwendete Linux-Befehle
Häufig verwendete Linux-Befehle
Häufig verwendete Linux-Befehle
Häufig verwendeter Pip-Befehl
Häufig verwendete ps-Befehlsoptionen
Häufig verwendete Unterpakete von SciPy
Python verwendete häufig Codefragmente
Häufig verwendete Befehle in virtualenv