Seite 1 von 1

Optionaler Parameter in def

Verfasst: Freitag 30. Oktober 2020, 18:51
von rennmaus
Hallo zusammen,
Kann ich einen Parameter in einer def Funktion optional machen, sprich, wenn er angegeben wird, wird eine andere Rechnung (mit dem Parameter) durchgeführt, wie wenn er nicht angegeben wird. Gibt es da eine möglichkeit?
Danke im Voraus für Antworten!

Mfg
Christian

Re: Optionaler Parameter in def

Verfasst: Freitag 30. Oktober 2020, 19:06
von sparrow
Wirf mal einen Blick in das Tutorial.

Re: Optionaler Parameter in def

Verfasst: Freitag 30. Oktober 2020, 19:08
von __blackjack__
@rennmaus: Ja gibt es. Wobei wenn da wirklich etwas komplett anderes gemacht wird, sollte man dafür eine eigene Funktion schreiben.

Re: Optionaler Parameter in def

Verfasst: Freitag 30. Oktober 2020, 19:26
von rennmaus
Perfekt, funktioniert! Danke!

Re: Optionaler Parameter in def

Verfasst: Samstag 31. Oktober 2020, 10:00
von rennmaus
Ich mache einfach mal hier weiter, dann quillt das Forum nicht über ;)

Kann ich, bzw. Wie kann ich aus einem Ordner alle Dateinamen(!) rauslesen, die mit .txt enden?

Re: Optionaler Parameter in def

Verfasst: Samstag 31. Oktober 2020, 10:03
von sparrow
Schau dir das pathlib Modul an.

Re: Optionaler Parameter in def

Verfasst: Samstag 31. Oktober 2020, 10:10
von rennmaus
Path.glob()?

Re: Optionaler Parameter in def

Verfasst: Samstag 31. Oktober 2020, 10:33
von rennmaus
Mir fällt gerade auf, ich habe ein Problem. Die Dateien, sind nämlich keine .txt Dateien, sondern Dateien ohne '.'. Die heißen einfach nur Datei

Re: Optionaler Parameter in def

Verfasst: Samstag 31. Oktober 2020, 11:00
von __deets__
Bist du sicher? Windows versteckt das ja. Und wenn dem so ist: was ist stattdessen das vereinheitlichende Kriterium?

Re: Optionaler Parameter in def

Verfasst: Samstag 31. Oktober 2020, 11:06
von rennmaus
Kann ich Bilder hier ins Forum stellen, wenn ja wie geht das?

Naja, jedenfalls steht da:

Dateityp: Datei
Beschreibung: ....

Re: Optionaler Parameter in def

Verfasst: Samstag 31. Oktober 2020, 11:52
von __deets__
Man kann Bilder hochladen auf einen Image Hoster, und die dann hier verlinken. Ist etwas fummelig.

Und mal im Ernst: denkst du, mit dieser Information kann irgendwer etwas anfangen? Wenn du nicht weisst, nach welchem Kriterium du die Dateien auswaehlen wuerdest, dann kannst du das auch nicht programmieren. Und Kriterum "ist eine Datei" ist halt entweder alle, oder keine, aber sonst nix.

Re: Optionaler Parameter in def

Verfasst: Samstag 31. Oktober 2020, 12:05
von rennmaus
Tut mir leid, ich kann dir nicht ganz folgen. Ich meine es gibt ja z.B. .txt , .png , . jpg usw. Dateien, aber meine ist keine von diesen, da sie in der Beschreibung eben nur 'Datei' stehen hat und nicht z.B. '.txt'

Re: Optionaler Parameter in def

Verfasst: Samstag 31. Oktober 2020, 12:31
von __blackjack__
@rennmaus: Na dann musst Du halt alle auswählen die keine Dateiendung haben.

Re: Optionaler Parameter in def

Verfasst: Samstag 31. Oktober 2020, 14:08
von snafu
...und somit entweder testen ob *kein* Punkt im Dateinamen ist oder bei Verwendung von pathlib das suffix-Attribut entsprechend überprüfen.

Re: Optionaler Parameter in def

Verfasst: Samstag 31. Oktober 2020, 15:22
von rennmaus

Code: Alles auswählen

import pathlib
    print(sorted(pathlib.Path('C:/Users/chris/Desktop/Deepsky Datenbank/Txt').glob('l')))
Das ist mein Code, als ausgabe bekomme ich aber immer nur: '[]'. Viele Dateien enden mit l, deshalb habe ich diesen Buchstaben ausgwählt um mich langsam ranzustasten

Code: Alles auswählen

import pathlib
    print(pathlib.PurePath('C:\\Users\\chris\\Desktop\\Deepsky Datenbank\\Txt').suffix)
Das ist der mit Suffix

Re: Optionaler Parameter in def

Verfasst: Samstag 31. Oktober 2020, 15:30
von __blackjack__
@rennmaus: Das findet alle Dateien die genau "l" heissen. Nix davor und nix danach. Nur "l".

Re: Optionaler Parameter in def

Verfasst: Samstag 31. Oktober 2020, 15:32
von rennmaus
snafu hat geschrieben: Samstag 31. Oktober 2020, 14:08 ...und somit entweder testen ob *kein* Punkt im Dateinamen ist oder bei Verwendung von pathlib das suffix-Attribut entsprechend überprüfen.
Leerer Output beim suffix Code also keine Endung, richtig?
Übrigens, geht es inzwischen mir eher darum, einfach alle Dateinamen eines Pfades angezeigt zu bekommen, als nur die die mit .txt enden

@__BlackJack__ wStimmt, da muss das Sternchen davor richtig ? ;)

Danke an alle die so nett waren und mir geholfen haben! Jetzt funktioniert es. Dann bis zur nächsten Frage ;)

Re: Optionaler Parameter in def

Verfasst: Samstag 31. Oktober 2020, 15:51
von __blackjack__
Da wäre dann `iterdir()` und ein Test auf „ist Datei“ oder „ist nicht Verzeichnis“ gefragt.