Удаление файлов, начинающихся с имени Python

У меня есть несколько файлов, которые я хочу удалить, они имеют одно и то же имя в начале, но имеют разные номера версий. Кто-нибудь знает, как удалить файлы, используя начало их имени?

Eg. version_1.1 version_1.2 

Есть ли способ деления любого файла, который начинается с версии имени?

благодаря

 import os, glob for filename in glob.glob("mypath/version*"): os.remove(filename) 

Подставьте правильный путь (или . (= Текущий каталог)) для mypath . И убедитесь, что вы не ошибетесь!

Это приведет к возникновению исключения, если файл в настоящее время используется.

Если вы действительно хотите использовать Python, вы можете просто использовать комбинацию os.listdir () , которая возвращает список всех файлов в определенном каталоге и os.remove () .

То есть:

 my_dir = # enter the dir name for fname in os.listdir(my_dir): if fname.startswith("version"): os.remove(os.path.join(my_dir, fname)) 

Однако, как указывали другие ответы, вам действительно не нужно использовать Python для этого, оболочка, вероятно, поддерживает такую ​​операцию.

На каком языке?

В bash (Linux / Unix) вы можете использовать:

 rm version* 

или в пакетном режиме (Windows / DOS), вы можете использовать:

 del version* 

Если вы хотите написать что-то для этого в Python, это будет довольно просто – просто посмотрите на документацию для регулярных выражений.

edit: только для справки, вот как это сделать в Perl:

 opendir (folder, "./") || die ("Cannot open directory!"); @files = readdir (folder); closedir (folder); unlink foreach (grep /^version/, @files); 
 import os os.chdir("/home/path") for file in os.listdir("."): if os.path.isfile(file) and file.startswith("version"): try: os.remove(file) except Exception,e: print e