Chyba pri otevirani souboru – Python – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Chyba pri otevirani souboru – Python – Fórum – Programujte.comChyba pri otevirani souboru – Python – Fórum – Programujte.com

 

Fonadius0
Návštěvník
20. 5. 2007   #1
-
0
-

Mam menší problem při vypracovávani úkolu u 10. lekce. udělal jsem si funkci, která mi nahraje ze souboru data do seznamu a neustále mi to hlásí chybu:
Traceback (most recent call last):
File "C:\Program Files\Python25\seznam.py", line 130, in <module>
vypis(seznam)
File "C:\Program Files\Python25\seznam.py", line 80, in vypis
nahravani(seznam,cesta)
File "C:\Program Files\Python25\seznam.py", line 7, in nahravani
soubor=file(cesta,"r")
TypeError: coercing to Unicode: need string or buffer, list found

Nevíte někdo čím to může být?

def nahravani(cesta,seznam):#Nahrani novych dat do seznamu

if pruchod==0:
cesta=raw_input("Zadej cestu v pripade zadani '0' bude zadana implicitni hodnota: ")
if cesta=="0":
cesta="c:\seznam.txt"
try:
soubor=file(cesta,"r")
for i in range(len(seznam)/2):
jmeno=soubor.readline()
cislo=soubor.readline()
seznam.append([jmeno,cislo])
except IOError:
os.system("cls")
import time
print "Soubor nenalezen"
time.sleep(5)
chyba="ano"
global chyba

Nahlásit jako SPAM
IP: ...–
Nevěřte moc firmám, které slibují komplexní řešení vašich problémů. Komplexní řešení z pravidla mívají netriviální imaginární část.
Abi Poe
~ Anonymní uživatel
7 příspěvků
21. 5. 2007   #2
-
0
-

Tady bude asi chyba v patym zadku v zadani cesty:
cesta="c:\seznam.txt"
problem je v obracenym lomitku, protoze python si jich v retezci vsima (respektive znaku za obracenym lomitkem)
pokud nechces aby to delal, napis pred uvozovku r, tj.:
cesta = r"c:\seznam.txt" -to mu rekne at si nevsima specialnich znaku v retezci a bere je jako jeho soucast
nebo pouzij lomitka dve:
cesta = "c:\\seznam.txt" - to si python precte, ze specialni znak ma brat jako lomitko.

Nahlásit jako SPAM
IP: ...–
Fonadius0
Návštěvník
21. 5. 2007   #3
-
0
-

Díky, ale nepomohlo to, 'r' jsem zkoušel i před tím a ta lomítka my hlásí pořád stejnou chybu. Dělá to to stejné i v případě že zadám pouze cesta="seznam.txt"

Nahlásit jako SPAM
IP: ...–
Nevěřte moc firmám, které slibují komplexní řešení vašich problémů. Komplexní řešení z pravidla mívají netriviální imaginární část.
geon0
Grafoman
21. 5. 2007   #4
-
0
-

dělá ti chybu při použití prvního if nebo druhého?

tohleto by mělo fungovat:

cesta=r"c:\seznam.txt"

f=file(cesta)
f.close()

Nahlásit jako SPAM
IP: ...–
geon. volume doprava.
Fonadius0
Návštěvník
22. 5. 2007   #5
-
0
-

takhle to bohužel taky nefunguje... :( Chybu to vyhazuje vždycky když tam zadám nějakou absolutni cestu ale kontrétně tuhle to háže u druhého if. Jinak je zvláštní že na jiných místech mi to funguje úplně normálně a ke všemu když to zadám takhle

try:

soubor=file(r"c:\seznam.txt","r")

tak to funguje úplně normálně. To by si ale zase uživatel nemohl vybrat cestu

Nahlásit jako SPAM
IP: ...–
Nevěřte moc firmám, které slibují komplexní řešení vašich problémů. Komplexní řešení z pravidla mívají netriviální imaginární část.
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 30 hostů

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý