4 svar
84 visningar
villsovaa behöver inte mer hjälp
villsovaa 925
Postad: 15 mar 2022 20:53

integer required

Hej! Skriver följande kod så att en fil ska öppnas:

 filnamn = "test.txt"
    fil = open(filnamn, "wb")

Men får meddelandet 

"fil = open(filnamn, "wb")

TypeError: an integer is required (got type str)"

Varför? Vilken integer och var saknas?

Mega7853 211
Postad: 15 mar 2022 21:02

Är det hela din kod? Gör du kanske "from os import *" någonstans?

Det finns en funktion open() i os-biblioteket som vill ha en integer istället för en sträng som mode.

villsovaa 925
Postad: 15 mar 2022 21:03
Mega7853 skrev:

Är det hela din kod? Gör du kanske "from os import *" någonstans?

Det finns en funktion open() i os-biblioteket som vill ha en integer istället för en sträng som mode.

Ja jag har from os import men jag behöver den. Hur kan jag lösa det i stället? Vad är mode?

Mega7853 211
Postad: 15 mar 2022 21:07

Problemet är att när du skriver "open" så tror python att du vill anropa funktionen "os.open" eftersom du har importerat den med "from os import *". Om du istället för "from os import *" gör "import os" och sedan anropar os.<funktion> när du vill använda en funktion från os-biblioteket så borde det fungera. Då förstår python att "open" inte betyder "os.open".

mode är "wb", som betyder att du vill öppna filen som en binär-fil och skriva till den.

villsovaa 925
Postad: 16 mar 2022 21:03
Mega7853 skrev:

Problemet är att när du skriver "open" så tror python att du vill anropa funktionen "os.open" eftersom du har importerat den med "from os import *". Om du istället för "from os import *" gör "import os" och sedan anropar os.<funktion> när du vill använda en funktion från os-biblioteket så borde det fungera. Då förstår python att "open" inte betyder "os.open".

mode är "wb", som betyder att du vill öppna filen som en binär-fil och skriva till den.

Tack så mycket!!

Svara
Close