Python socket és egyéb...

Python socket és egyéb...
2013-04-28T10:11:35+02:00
2013-05-10T14:47:20+02:00
2022-11-29T00:35:37+01:00
*deleted_67298407
Üdv,
írtam egy kis szerver progit pythonban, ami működik is, definiáltam benne, hogy ha nincs megadva fájl, akkor használja a config-ban megadott defaut fájlt keresse meg és azt töltse be. Átnéztem, elméletileg minden rendbenvan, de a gyakorlatban nem akar múködni, csak akkor ha megadom a teljes útvonalt: 127.0.0.1:8080/index.html, s az index.html nélkül nem megy. Őszintén meg mondva python-ból élek, de most kiakadtam.
Mellékelem az egész forráskódot. Hát ha valakinek van valami ötlete.

Addig is baráti üdvözlettel: vatay világi norbert
Mutasd a teljes hozzászólást!
Csatolt állomány
Nálam megy index.html nélkül is: a http://localhost:8000/ a böngészőben ugyanazt adja, mint a http://localhost:8000/index.html .

Bár mondjuk nekem nem tetszik a kódolási stílusod. Split-elsz mindent (a konfig fájlt is, ami elvileg soronként számít és az egyenlőségjel az elválasztó, de nálad csak a kulcsszó utáni második szó lesz az érték és kész), ráadásul semmit nem tárolsz el, hanem inkább újra meg újra szétszeded. De egyébként a fájl létezésének ellenőrzéséhez se kell megnyitni a fájlt, elég az os.path.isfile() használata. (Ez főleg akkor pazarlás, ha utána úgy is meg akarod nyitni a fájlt, szóval ha létezik, akkor megnyitod, bezárod, aztán megint megnyitod feleslegesen.) Mivel gondolom úgyse a piacon használt webszervereknek akarsz versenytársat, hanem csak gyakorolni szeretnél, jobb lenne ezeket szépen megoldani.
Mutasd a teljes hozzászólást!

  • "
    ]gyse a piacon használt webszervereknek akarsz versenytársat, hanem csak gyakorolni szeretnél,"

    és ebben igazad van.
    Hogy nem mentek el semmit és splittelek, az nem véletlen. s az os.path.ifile89-t ismerem, de ez most szándékosan nem volt használva.
    Egyébbként a Blackpanther OS 10.1-es használom python3 parancs értelmezővel, és ott nem fut. Időközben néztem, Unntu 12.04 tls python 2.7 alatt, s ott nekem is fut.

    S most már csak azt kellene eldöntenem, vagy rájönnöm, hogy mi a lényegi külömbség a python 2.7 és a python3 lib-ja között.
    Mutasd a teljes hozzászólást!
  • Ja, hogy hármas Pythonnal akarod futtatni. Azzal nekem ezt a hibaüzenetet adja:
    File "pWS", line 23 p_file = open(p) ^ TabError: inconsistent use of tabs and spaces in indentation
    Neked nem írt ki hibát, amikor futtatni akartad?

    De egyébként el kellene döntened előre, hogy akkor ez most kettes vagy hármas Pythonra írt kód lesz. Éppen meg lehet úgy írni, hogy mindkét interpreter elfogadja, de elég nagy odafigyelést igényel, és értelme nem sok szokott lenni.
    Mutasd a teljes hozzászólást!
  • Nekem hibát nem ír ki, futtatja. Csak a default oldalt nem adja be. Majd még szórakozgaot vele. Addig is üdv.
    Mutasd a teljes hozzászólást!
  • Időközben több dok oldalt elolvastam, s igazad van: kényelmesebb ha csak az egyik pythonra irom a dolgaimat. S ha valaki akarja használni, telepitse azt a parancs értelmezőt, amire megírtam. De azért gyakorolni fogok kisebb dolgokkal, hogy mind a kettőn, s idővel majd belejövök, mint kiskutya az ugatásba.
    Mutasd a teljes hozzászólást!
Tetszett amit olvastál? Szeretnél a jövőben is értesülni a hasonló érdekességekről?
abcd