[英]How to create an extension for a file without extension in Python
我有一個包含文件列表的文件夾,沒有擴展名,我需要重命名或為每個文件“ .text”創建擴展名
這是我的代碼,但是有一個小錯誤,例如,第二次我運行該代碼時,再次使用長名稱重新命名了文件,例如
文件名:XXA
第一次運行后:XXA.text
第二個:XXAXXA.text.text
import os
def renamefiles():
filelist = os.listdir(r"D:\")
print(filelist)
os.chdir(r"D:\")
path = os.getcwd()
for filename in filelist:
print("Old Name - "+filename)
(prefix, sep, sffix) = filename.rpartition(".")
newfile = prefix + filename + '.text'
os.rename(filename, newfile)
print("New Name - "+newfile)
os.chdir(path)
rename_files()
你在哪里
newfile = prefix + '.text'
你可以有
if not file_name.contains(".text"):
newfile = prefix + file_name + '.text'
注意,在哪里有newfile = prefix + file_name + '.text'
,我將其更改為newfile = prefix + '.text'
。 如果你仔細想想,你不需要filename
時,你已經提取的實際文件名到prefix
。
for file in os.listdir(os.curdir):
name, ext = os.path.splitext(file)
os.rename(file, name + ".text")
不要那樣做分區,請使用os.path.splitext
:
file_name, extension = os.path.splitext(filename)
if not extension:
newfile = file_name + '.text'
os.rename(filename, newfile)
如果文件沒有擴展名,則splitext
返回''
,即Falsy 。 然后可以更改文件擴展名。
import os
def renamefiles():
filelist = os.listdir(r"D:\")
print(filelist)
os.chdir(r"D:\")
path = os.getcwd()
for filename in filelist:
print("Old Name - "+filename)
(prefix, sep, sffix) = filename.rpartition(".")
newfile = prefix + file_name + '.text'
if not filename.endswith(".text"):
os.rename(filename, newfile)
print("New Name - "+newfile)
os.chdir(path)
rename_files()
您需要檢查文件名是否以.text結尾,然后跳過那些
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.