OSError [Errno 22] ongeldig argument bij gebruik van open() in Python

Ik gebruik bronbestanden en er gaat iets mis als ik het gebruik als argument in de open functie, maar als ik het gebruik voor het laden van afbeeldingen en pictogrammen is alles in orde.


Antwoord 1, autoriteit 100%

Dat is geen geldig bestandspad. U moet ofwel een volledig pad gebruiken

open(r"C:\description_files\program_description.txt","r")

Of een relatief pad

open("program_description.txt","r")

Antwoord 2, autoriteit 22%

Voeg ‘r’ toe aan het begin van het pad:

path = r"D:\Folder\file.txt"

Dat werkt voor mij.


Antwoord 3, autoriteit 19%

Ik kreeg dezelfde foutmelding toen ik een absoluut enorm woordenboek probeerde af te drukken. Toen ik probeerde alleen de sleutels van het woordenboek af te drukken, ging alles goed!


Antwoord 4, autoriteit 19%

Ik kwam deze fout ook tegen toen ik open(file_path)gebruikte. Mijn reden voor deze fout was dat mijn file_patheen speciaal teken had, zoals "?"of "<".


Antwoord 5, autoriteit 9%

In mijn geval gebruikte ik een ongeldig tekenreeksvoorvoegsel.

Fout:

path = f"D:\Folder\file.txt"

Rechts:

path = r"D:\Folder\file.txt"

Antwoord 6, autoriteit 6%

je moet nog een “/” toevoegen aan de laatste “/” van het pad, dat wil zeggen:
open('C:\Python34\book.csv')tot open('C:\Python34\\book.csv'). Bijvoorbeeld:

import csv
with open('C:\Python34\\book.csv', newline='') as csvfile:
    spamreader = csv.reader(csvfile, delimiter='', quotechar='|')
    for row in spamreader:
        print(row)

Antwoord 7, autoriteit 6%

Vervang gewoon door “/” voor bestandspad:

  open("description_files/program_description.txt","r")

Antwoord 8, autoriteit 6%

In Windows-Pycharm: Als Bestandslocatie|Pad een tekenreeks bevat zoals \t, moet u daar ontsnappen met extra \zoals \\t


Antwoord 9, autoriteit 6%

Ik had hetzelfde probleem
Dit gebeurt omdat bestanden geen speciale tekens mogen bevatten, zoals “:”, “?”, “>” en etc.
U moet deze bestanden vervangen door de functie Replace() te gebruiken:

filename = filename.replace("special character to replace", "-")

Antwoord 10, autoriteit 3%

In mijn geval was de fout te wijten aan een gebrek aan machtigingen voor het mappad. Ik heb de inloggegevens ingevoerd en opgeslagen en het probleem was opgelost.


Antwoord 11

for folder, subs, files in os.walk(unicode(docs_dir, 'utf-8')):
    for filename in files:
        if not filename.startswith('.'):
            file_path = os.path.join(folder, filename)

Antwoord 12

In mijn geval bestaat het probleem omdat ik geen toestemming heb ingesteld voor schijf “C:\” en wanneer ik mijn pad verander naar een andere schijf zoals “F:\”, is mijn probleem opgelost.


Antwoord 13

import pandas as pd
df = pd.read_excel ('C:/Users/yourlogin/new folder/file.xlsx')
print (df)

Antwoord 14

Ik kreeg deze fout omdat de oude serverinstantie actief was en een logbestand gebruikte, waardoor de nieuwe instantie niet naar het logbestand kon schrijven. Na het verwijderen van het logbestand is dit probleem opgelost.


Antwoord 15

gebruik alleen enkele aanhalingstekens en gebruik ‘r’ onbewerkte tekenreeks vooraf en een enkele ‘/’

voor bijv.

f = open(r'C:/Desktop/file.txt','r')
print(f.read())

LEAVE A REPLY

Please enter your comment!
Please enter your name here

19 − 5 =

Other episodes