Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.python > #83112

Re: How do I remove/unlink wildcarded files

Date 2015-01-02 11:29 +0000
From MRAB <python@mrabarnett.plus.com>
Subject Re: How do I remove/unlink wildcarded files
References <20150102090051.GC22372@arxnet.hu> <20150102102153.GA89926@cskk.homeip.net>
Newsgroups comp.lang.python
Message-ID <mailman.17319.1420198157.18130.python-list@python.org> (permalink)

Show all headers | View raw


On 2015-01-02 10:21, Cameron Simpson wrote:
> On 02Jan2015 10:00, Ervin Hegedüs <airween@gmail.com> wrote:
>>On Thu, Jan 01, 2015 at 05:13:31PM -0600, Anthony Papillion wrote:
>>> I have a function I'm writing to delete wildcarded files in a directory.
>>> I tried this:
>>>
>>> def unlinkFiles():
>>>     os.remove("/home/anthony/backup/unix*")
>>>
>>> This doesn't seem to work because it's a wildcard filename. What is the
>>> proper way to delete files using wildcards?
>>
>>Now I didn't checked, but once I've used some like this:
>>
>>def unlinkFiles():
>>    dirname = "/path/to/dir"
>>    for f in os.listdir(dirname):
>>        if re.match("^unix*$", f):
>>            os.remove(os.path.join(dirname, f))
>
> That is a very expensive way to check the filename in this particular case.

It'll also match "uni".

> Consider:
>
>    if f.startswith('unix'):
>
> instead of using a regular expression.
>
> But generally the OP will probably want to use the glob module to expand the
> shell pattern as suggested by others.
>

Back to comp.lang.python | Previous | Next | Find similar | Unroll thread


Thread

Re: How do I remove/unlink wildcarded files MRAB <python@mrabarnett.plus.com> - 2015-01-02 11:29 +0000

csiph-web