Dateiverwaltung
Verfasst: Samstag 9. September 2017, 16:49
Ich habe mal um ein bisschen Python zu Üben ein kleines Programm geschrieben, welches einem eine Möglichkeit gibt Textdateien, direkt aus einem Menü heraus, zu verwalten.
Da ich noch recht neu bin in der großen Welt von Python
wollte ich einfach mal einige Meinungen zur Verbesserung des Codes und allgemeiner Ideen für weitere Funktionen einholen.
Bereits einmal vielen Dank im voraus und ich hoffe, dass ihr nicht sofort beim ersten drüberschauen vor Verzweiflung im Boden versinkt
Mit freundlichen Grüßen
TheBombTuber
Da ich noch recht neu bin in der großen Welt von Python

Code: Alles auswählen
# -*- coding: utf-8 -*-
"""
Created on Sep 5 2017
@author: TheBombTuber
"""
#Umbau in tkinter ist noch geplant
#Import area
import sys, os, time, subprocess
#Import area
print("Bevor sie Beginnen legen sie bitte einen Dateitypen fest""\n")
time.sleep(1)
while True:
print("Vorzugsweise" ' "' ".txt" '"' "\n")
time.sleep(1)
print("Sie können jedoch jeden beliebigen Dateityp angeben")
while True:
datentyp = input()
if datentyp == '':
print("Bitte tätigen sie eine Eingabe")
time.sleep(1)
continue
if '.' in datentyp:
break
else:
print("Datentyp muss einen "'"."'" am Anfang stehen haben")
continue
print("Sie haben" + ' "' + datentyp + '" ' + "als Datentyp angegeben.")
time.sleep(1)
print("vielen Dank" + "\n" + "Sie gelangen nun in das Menü")
time.sleep(2)
os.system("cls")
break
#def area
def add_entry():
os.system("cls")
print("Datei hinzufügen"+"\n")
###############
"""
Speicherort auswahl
in Bearbeitung
"""
###############
time.sleep(0.5)
while True:
print("Name der Datei?")
File = input() + (datentyp)
try:
open(File, "r")
print("Datei bereits vorhanden!""\n""Möchten Sie sie überschreiben?""\n""Ja oder Nein?")
while True:
überschreiben = input()
if überschreiben == 'Ja':
open(File, 'w')
time.sleep(0.5)
print("Datei wurde überschrieben")
break
if überschreiben == 'Nein':
break
else:
print('Bitte schreiben sie "Ja" oder "Nein" nicht ' + überschreiben)
time.sleep(1)
os.system('cls')
continue
break
except FileNotFoundError:
open(File, 'w')
time.sleep(0.5)
print('Datei ' + '"' + File + '"' + ' erstellt')
break
continue
while True:
print("Sie kehren zurück ins Menü")
time.sleep(1.5)
os.system("cls")
break
def search_entry():
os.system("cls")
print("Dateien des Typ's " + datentyp + " werden gesucht""\n")
time.sleep(0.5)
dirList = os.listdir('.')
dirList.sort()
newList = []
for sFile in dirList:
if sFile.find(datentyp) == -1:
continue
newList.append(sFile)
for sFile in newList:
print(sFile)
time.sleep(0.2)
time.sleep(2)
print("\n""Drücken sie "'"Enter"'" um zurück ins Menü zu gelangen")
while True:
zurückinMenü = input()
if zurückinMenü == '':
print("Sie kehren zurück ins Menü")
time.sleep(1.5)
os.system("cls")
break
def change_entry():
os.system("cls")
print("Datei bearbeiten""\n")
time.sleep(0.5)
batchdatei = (" .bat")
filepath = ((os.path.dirname(sys.argv[0]) + "/" + batchdatei))
while True:
dirList = os.listdir('.')
dirList.sort()
newList = []
for sFile in dirList:
if sFile.find(datentyp) == -1:
continue
newList.append(sFile)
for sFile in newList:
print(sFile)
time.sleep(0.2)
print("Welche Datei möchten sie bearbeitet?")
auswahldatei = input() + (datentyp)
print(auswahldatei + ' wird aufgerufen')
time.sleep(1)
direction = ((os.path.dirname(sys.argv[0]) + "/" + auswahldatei))
bat = open(' .bat', 'w')
bat.write(str('notepad' + ' ' + direction))
bat.close()
time.sleep(1)
break
while True:
p = subprocess.Popen(filepath, shell=True, stdout = subprocess.PIPE)
stdout, stderr = p.communicate()
time.sleep(1)
break
while True:
print("Sie kehren zurück ins Menü")
os.remove(filepath)
time.sleep(1.5)
os.system("cls")
break
def remove_entry():
while True:
os.system("cls")
dirList = os.listdir('.')
dirList.sort()
newList = []
for sFile in dirList:
if sFile.find(datentyp) == -1:
continue
newList.append(sFile)
for sFile in newList:
print("verfügbare Dateien""\n")
print(sFile)
time.sleep(0.2)
print("\nWelche Datei löschen?""\n")
try:
zulöschen = input() + (datentyp)
os.remove(zulöschen)
print("Datei wurde entfernt")
time.sleep(1)
break
except FileNotFoundError:
print("Datei " + zulöschen + " existiert nicht")
print("Eingabe Bitte wiederholen")
time.sleep(1)
continue
while True:
print("Sie kehren zurück ins Menü")
time.sleep(1.5)
os.system("cls")
break
def quit_entry():
os.system("cls")
print("Programm wird beendet")
time.sleep(1)
sys.exit()
def handle_menu(menu):
while True:
try:
for index, item in enumerate(menu, 1):
print("{} {}".format(index, item[0]))
choice = int(input("Ihre Wahl? ")) - 1
if 0 <= choice < len(menu):
menu[choice][1]()
else:
print("Bitte nur Zahlen im Bereich 1 - {} eingeben".format(len(menu)))
time.sleep(1)
os.system('cls')
except ValueError:
break
#def area
#Menu area
menu = [
["Datei hinzufügen", add_entry],
["Datei löschen", remove_entry],
["Dateien anzeigen", search_entry],
["Datei bearbeiten", change_entry],
["Programm beenden", quit_entry]
]
handle_menu(menu)
#Menu area

Mit freundlichen Grüßen
TheBombTuber