os.path.joind kann mir einen kompletten pfad generieren - funktioniert.
Ich habe gelernt, dass unter Windows ein anderer Pfad generiert wird als unter Linux.
Mein Skript läuft unter Linux;
ich benötige nun für eine Fehler-Mail SOWOHL den linux-Pfad als auch den Windows-pFad (die Datei liegt auf einem CIFS-share)
also etwa so:
\\LINUXSERVER\meinpfad\datei.pdf
und
/Var/spool/test/datei.pdf
geht das?
os.path.join linux-Pfade UND Windows-Pfade generieren ...
Für Dateipfade gibt es mittlerweile (laut Doku seit Python 3.4) das pathlib-Modul. Das kann beides... sowohl den Linux-Pfad, als auch den Windows-Pfad.
_______________________________________________________________________________
https://www.python-kurs.eu/index.php
https://learnxinyminutes.com/docs/python/ https://learnxinyminutes.com/docs/de-de/python-de/
https://quickref.me/python https://docs.python-guide.org/
- DeaD_EyE
- User
- Beiträge: 1286
- Registriert: Sonntag 19. September 2010, 13:45
- Wohnort: Hagen
- Kontaktdaten:
Code: Alles auswählen
from pathlib import Path, PureWindowsPath
SPOOL = Path("/var/spool/test/")
def windows_share(server, *path):
return PureWindowsPath(f"//{server}", *path)
windows_pfad = windows_share("servername", "meinpfad", "datei.xyz")
print(windows_pfad)
linux_pfad = SPOOL / windows_pfad.name
print(linux_pfad)Ausgabe unter Linux:\\servername\meinpfad\datei.xyz
\var\spool\test\datei.xyz
AFIK ist es besser, die normalen Schrägstriche zu verwenden anstatt der umgekehrten.esp32@ganymed:~$ python3 pfad.py
\\servername\meinpfad\datei.xyz
/var/spool/test/datei.xyz
Umgekehrte Schrägstriche werden auch für die Interpretation von bestimmten Zeichen genutzt.
Das bekannteste ist \n für eine Zeilenende und \r für den Zeilenvorschub unter Windows.
Wenn man die normalen Schrägstriche möchte, nutzt man unter Linux einfach nur Path anstatt PureWindowsPath.
sourceserver.info - sourceserver.info/wiki/ - ausgestorbener Support für HL2-Server
