OSError: [Errno 22] Invalid argument: '2023_09_11_19:22:07.png'?
Dieser code soll so lauf:
while True:
if keyboard.is_pressed("windows+alt+p"):
dater = strftime(f"%Y_%m_%d_%H:%M:%S", gmtime())
name = str(dater)
im1=pyautogui.screenshot()
im2=pyautogui.screenshot(name + ".png")
Image.open(name + ".png").convert("RGB").save(name + ".png")
print("pic: " + name + " taked")
Doch leider verhindert es ein fehler
Output:
OSError: [Errno 22] Invalid argument: '2023_09_11_18::28::08.png'
if i do:
while True:
if keyboard.is_pressed("windows+alt+p"):
dater = strftime(f"%Y_%m_%d_%H:%M", gmtime())
name = str(dater)
im1=pyautogui.screenshot()
im2=pyautogui.screenshot(name + ".png")
Image.open(name + ".png").convert("RGB").save(name + ".png")
print("pic: " + name + " taked")
Output:
pic: 2023_09_11_18 taked
#and its work:
Real file name is: "2023_09_11_18.png"
How can I use the colon without getting an error?
2 Antworten
Von gutefrage auf Grund seines Wissens auf einem Fachgebiet ausgezeichneter Nutzer
Programmiersprache, Python, Python 3
Je nach Platform sind Doppelpunkte illegale Zeichen bei einem Dateinamen.
Unter Windows kann : nicht in einem Ordner- oder Dateinamen verwendet werden.
Zur Bestätigung kannst du den Windows Datei Explorer öffnen und an einer beliebigen Stelle eine neue Datei/Ordner erstellen. Versuche ein : im Namen zu verwenden. Der Datei Explorer wird dich darauf hinweise, dass : nicht im Namen verwendet werden kann.
Unter Ubuntu und vermutlich allen anderen Unix Betriebsystemen (z.B. Linux, MacOS) kann ein : im Namen verwendet werden.
How can I use the colon without getting an error?
Wirf Windows weg und nutze ein Linux deiner Wahl.
Alternativ kannst du die Datei auch anders benennen.