Article View: pl.comp.lang.python
Article #287prostszy os.path.splitext
From: Wojtek Walczak
Date: Sun, 08 Dec 2002 16:35
Date: Sun, 08 Dec 2002 16:35
76 lines
2713 bytes
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-mailShow 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