🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.lang.python
Article #287

prostszy os.path.splitext

#287
From: Wojtek Walczak
Date: Sun, 08 Dec 2002 16:35
76 lines
2713 bytes
Dobry wieczor :)

Sprawa Pierwsza.
Oto funkcja splitext z pythona 2.2.2 z posixpath.py:

---
def splitext(p):
    """Split the extension from a pathname.  Extension is everything from the
    last dot to the end.  Returns "(root, ext)", either part may be empty."""
    root, ext = '', ''
    for c in p:
        if c == '/':
            root, ext = root + ext + c, ''
        elif c == '.':
            if ext:
                root, ext = root + ext, c
            else:
                ext = c
        elif ext:
            ext = ext + c
        else:
            root = root + c
    return root, ext
---

...ja sobie napisalem to samo w ten sposob:

---
def splitext(p):
   a = p.rfind('.')
   if a == -1: a=len(p)
   return p[:a], p[a:]
---

...no i ciekaw jestem o czym zapomnialem, bo jak zawsze na pewno jest
cos, o czym nie pomyslalem, i czego nie widze. Jakies pomysly? :)

ps. testuje to tak:

---
tabl = [ "/nie/ma/kropek",
         "mat.rix",
         "///q.exe",
         "/home/gminick/wojo.txt",
         ".blah",
         "/home/gminick/.slrnrc" ]

for i in tabl:
   print splitext(i)
   print os.path.splitext(i)
---

...i w kazdym wypadku wyniki sa identyczne.


Sprawa druga.
Zmienilem sobie troche os.path.join(), tak, zeby zamienial slashe
wystepujace grupami na slasha pojedynczego (dwie linijki kodu roznicy 
nie liczac 'import re' ;)), np.:

print moj_join("/home////", "gminick/////Mail", "sent")
print os.path.join("/home////", "gminick/////Mail", "sent")

i wyniki:

/home/gminick/Mail/sent
/home////gminick/////Mail/sent

...i sie teraz zastanawiam, czy sa sytuacje, kiedy takie zastepowanie
slashy moze sie okazac niebezpieczne/niepozadane ?

To by bylo na tyle, dobranoc ;]

-- 
[ ] gminick (at) underground.org.pl  http://gminick.linuxsecurity.pl/ [ ]
[ "Po prostu lubie poranna samotnosc, bo wtedy kawa smakuje najlepiej." ]
Technical Details
Message-ID: <slrnav7akp.id.gminick@hannibal.localdomain>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!pingwin.icm.edu.pl!news.icm.edu.pl!news.nask.pl!news.internetia.pl!newsfeed.gazeta.pl!newsfeed.tpinternet.pl!news.tpi.pl!not-for-mail

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!pingwin.icm.edu.pl!news.icm.edu.pl!news.nask.pl!news.internetia.pl!newsfeed.gazeta.pl!newsfeed.tpinternet.pl!news.tpi.pl!not-for-mail
From: Wojtek Walczak <gminick@hacker.pl>
Newsgroups: pl.comp.lang.python
Subject: prostszy os.path.splitext
Date: Sun, 8 Dec 2002 16:35:20 +0000 (UTC)
Organization: tp.internet - http://www.tpi.pl/
Lines: 76
Message-ID: <slrnav7akp.id.gminick@hannibal.localdomain>
NNTP-Posting-Host: pb135.kepno.sdi.tpnet.pl
X-Trace: news.tpi.pl 1039365320 16155 213.25.218.135 (8 Dec 2002 16:35:20 GMT)
X-Complaints-To: usenet@tpi.pl
NNTP-Posting-Date: Sun, 8 Dec 2002 16:35:20 +0000 (UTC)
User-Agent: slrn/0.9.7.3 (Linux)
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit