Подтвердить что ты не робот

Изменение расширения файла в Python

Предположим, что из index.py с CGI у меня есть файл сообщения foo.fasta для отображения файла. Я хочу изменить расширение файла foo.fasta как foo.aln в отображаемом файле. Как я могу это сделать?

4b9b3361

Ответ 1

import os
thisFile = "mysequence.fasta"
base = os.path.splitext(thisFile)[0]
os.rename(thisFile, base + ".aln")

Где thisFile = абсолютный путь к файлу, который вы меняете

Ответ 2

os.path.splitext(), os.rename() p >

например:

# renamee is the file getting renamed, pre is the part of file name before extension and ext is current extension
pre, ext = os.path.splitext(renamee)
os.rename(renamee, pre + new_extension)

Ответ 3

Элегантный способ использования pathlib.Path:

from pathlib import Path
p = Path('mysequence.fasta')
p.rename(p.with_suffix('.aln'))

Ответ 5

Используйте это:

os.path.splitext("name.fasta")[0]+".aln"

И вот как это работает:

Метод splitext отделяет имя от расширения, создающего кортеж:

os.path.splitext("name.fasta")

созданный кортеж теперь содержит строки "имя" и "fasta". Затем вам нужно получить доступ только к строке "name", которая является первым элементом кортежа:

os.path.splitext("name.fasta")[0]

И затем вы хотите добавить новое расширение к этому имени:

os.path.splitext("name.fasta")[0]+".aln"

Ответ 6

Использование pathlib и сохранение полного пути:

from pathlib import Path
p = Path('/User/my/path')
new_p = Path(p.parent.as_posix() + '/' + p.stem + '.aln')