dies ist mein Eintrag in diesem Forum. Damit möchte ich euch mitteilen, dass ich ein Python-Anfänger bin.
Ich habe einen Button erstellt, der dem Nutzer die Möglichkeit gibt eine Datei auszuwählen. Der Dateiname Name wird anschließend in ein Eingabefenster geladen. Dies funktioniert bisher gut. Ob ich den effizientesten und schönsten Weg gewählt habe, weiß ich nicht. Wenn ihr dort Verbesserungsvorschläge habt, könnt ihr dort gerne "meckern"

Nun möchte ich aber auch den Pfad, der in der Variable "path" hinterlegt ist, auch außerhalb der Funktion nutzen. Dieser wird nämlich später in der Hauptfunktion aufgerufen. Ich habe mir mehrere Beiträge hier im Forum zu dem Thema angeschaut und diese auch verstanden. Z.B. wurde folgender Code zur Erklärung verwendet.
Code: Alles auswählen
def subtrahieren(a, b):
c = a - b
return c
ergebnis = subtrahieren(17, 6)
print(ergebnis)
Ich weiß, dass ich durch return path nicht einfach print(path) nutzen kann. Ich müsste es irgendwie in der Form machen, wie es im "Subtrahieren-Beispiel" gemacht wird.
Ich wäre euch sehr dankbar, wenn ich mir helfen könntet. Ich habe nämlich das Gefühl, dass es kein kompliziertes Problem ist sondern mir einfach das know-how fehlt.
Ich habe meinen Code gekürzt, sodass ich euch hier nur den Teil zeige, der das Problem beschreibt.
Code: Alles auswählen
from openpyxl import Workbook, load_workbook
from openpyxl.utils import get_column_letter, column_index_from_string, coordinate_to_tuple
from openpyxl.styles import Font
from PIL import ImageTk, Image, ImageChops
import os
import tkinter as tk
from tkinter import filedialog
# Hier wird das Hauptfenster der GUI erstellt
fenster = tk.Tk()
fenster.geometry("1000x600")
fenster.configure(bg = 'white')
fenster.title("Titel")
def browse_file():
# Auswählen der Datei
path = filedialog.askopenfilename(initialdir="/", title="Select a File", filetypes=(("Excel files", "*.xlsx*"), ("all files", "*.*")))
# Dateinnamen vom Pfad trennen
filename = os.path.split(path)[1] # Dateinname wird vom vollständigen Pfad gesplittet
# Filename wird ins Eingabefenster geladen
eingabefeld_dateiname_testspec.insert(0,filename)
return path
# translates an rgb tuple of int to a tkinter friendly color code
def _from_rgb(rgb):
return "#%02x%02x%02x" % rgb
# Dateiname Testspec Label
dateiname_testspec = tk.Label(fenster, text="Dateiname Testspec: ", bg=_from_rgb((147, 177, 191)))
dateiname_testspec.place(x = 10, y = 140, width=120, height=30)
# Eingabefenster des Dateinamen der Testspec
eingabefeld_dateiname_testspec = tk.Entry(fenster, bd=5, width=40)
eingabefeld_dateiname_testspec.place(x = 140, y = 140, width=500, height=30)
# "Browse File" Button
dateiname_testspec_button = tk.Button(fenster, text="...", command=browse_file,)
dateiname_testspec_button.place(x = 650, y = 140, width=40, height=30)
signalmatrix_erstellen_button = tk.Button(fenster, text="Signalmatrix erstellen", command=fenster.quit, bg='lightgrey',
font='bold')
signalmatrix_erstellen_button.place(x = 30, y = 500, width=180, height=60)
#####################################################################################################
def main():
testspec_sheet = load_workbook(path).active
workbook = Workbook()
workbook.active.title = "Test"
if __name__ == "__main__":
main()