十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
基本程序
专注于为中小企业提供网站建设、成都网站建设服务,电脑端+手机端+微信端的三站合一,更高效的管理,为中小企业柘城免费做网站提供优质的服务。我们立足成都,凝聚了一批互联网行业人才,有力地推动了成百上千企业的稳健成长,帮助中小企业通过网站建设实现规模扩充和转变。
1
引入os模块(python中操作文件的模块)。
2
定义修改名称的函数rename。
在rename函数中定义一个储存路径的变量path,并将要修改文件名的文件夹的路径赋值给该变量。
3
继续向函数中添加功能代码
4
最后调用这个rename函数这个脚本就写完了。执行这个文件,就会将文件夹下所有的文件改成 这里是你要改的文件名.后缀名 这样的格式,显然我们一般情况下不是需要这样的效果的。下面我列出了一些常用的改文件名的方法。
5
列出代码,便于复制
import os;
def rename():
path="这里替换为你的文件夹的路径";
filelist=os.listdir(path)#该文件夹下所有的文件(包括文件夹)
for files in filelist:#遍历所有文件
Olddir=os.path.join(path,files);#原来的文件路径
if os.path.isdir(Olddir):#如果是文件夹则跳过
continue;
filename=os.path.splitext(files)[0];#文件名
filetype=os.path.splitext(files)[1];#文件扩展名
Newdir=os.path.join(path,"这里是你要改的文件名"+filetype);#新的文件路径
os.rename(Olddir,Newdir);#重命名
rename();
END
添加改名规律
1
(1).序号依次递增型
import os;
def rename():
count=0;
path='C:\\Users\\admin\\Desktop\\test';
filelist=os.listdir(path)#该文件夹下所有的文件(包括文件夹)
for files in filelist:#遍历所有文件
Olddir=os.path.join(path,files);#原来的文件路径
if os.path.isdir(Olddir):#如果是文件夹则跳过
continue;
filename=os.path.splitext(files)[0];#文件名
filetype=os.path.splitext(files)[1];#文件扩展名
Newdir=os.path.join(path,str(count)+filetype);#新的文件路径
os.rename(Olddir,Newdir);#重命名
count+=1;
rename();
2
(2).批量取分隔符前面/后面的名称
import os;
def rename():
path='C:\\Users\\admin\\Desktop\\test';
filelist=os.listdir(path)#该文件夹下所有的文件(包括文件夹)
for files in filelist:#遍历所有文件
Olddir=os.path.join(path,files);#原来的文件路径
if os.path.isdir(Olddir):#如果是文件夹则跳过
continue;
filename=os.path.splitext(files)[0];#文件名
filetype=os.path.splitext(files)[1];#文件扩展名
if filename.find('---')=0:#如果文件名中含有---
Newdir=os.path.join(direc,filename.split('---')[0]+filetype);
#取---前面的字符,若需要取后面的字符则使用filename.split('---')[1]
if not os.path.isfile(Newdir):
os.rename(Olddir,Newdir);
rename();
import os
import sys
path = "D:\emojis"
for (path,dirs,files) in os.walk(path):
for filename in files:
newname = "emoji_"+filename
os.rename(path+"\\"+filename , "D:\new_emojis"+"\\"+newname)
扩展资料:
python文件和目录操作方法
1、os.mknod("test.txt")
#创建空文件
2、fp = open("test.txt",w)
#直接打开一个文件,如果文件不存在则创建文件
3、关于open 模式:
w:以写方式打开,
a:以追加模式打开 (从 EOF 开始, 必要时创建新文件)
r+:以读写模式打开
w+:以读写模式打开 (参见 w )
a+:以读写模式打开 (参见 a )
rb:以二进制读模式打开
wb:以二进制写模式打开 (参见 w )
ab:以二进制追加模式打开 (参见 a )
rb+:以二进制读写模式打开 (参见 r+ )
wb+:以二进制读写模式打开 (参见 w+ )
ab+:以二进制读写模式打开 (参见 a+ )
本文接上一篇 使用python对文件名进行批量修改2020-04-24 待续内容,主要介绍如何删除文件名前缀及后缀,方法为基于lstrip()和partition()函数的实现。
(1)删除文件名前缀; 如 “ ”。
(2)删除指定字符之后的内容;如 ”_张三“ 、 “_李四” 、 ”_Mike“ 等。
(1)删除前缀函数 str.lstrip()
将字符串s中的’aabb_‘删除,运行结果如图:
(2)删除指定字符之后内容,使用函数 str.partition()
将字符串s中的’_aabb‘删除,运行结果如图:
Python 3.6.4
1、首先打开腾讯云,点击“云产品”然后选择“云函数”。
2、其次点击“函数服务”然后新建云函数,设置好函数名称。
3、最后选择python3.6的版本,选择空白函数,即可调用腾讯云函数。
刚好其他有个问题涉及你的问题,我直接给你贴可以运行的代码,纯手工额:
#coding=utf-8
'''
Created on 2012-6-4
@author: Administrator
@note:
以下是具体代码:
我用的Python2.7
需要在当前文件夹下创建script.py
'''
import wx
import wx.grid
class TestPanel(wx.Panel):
def __init__(self, parent):
wx.Panel.__init__(self, parent)
#修改位置,在读取的时候获取,在修改文件的时候使用
self.offsetx = 0
self.offsety = 0
self.initGUI()
def initGUI(self):
self.createWidgets()
self.setPrepertise()
self.doyout()
def createWidgets(self):
self.xshow_textCtrl = wx.TextCtrl(self, -1)
self.yshow_textCtrl = wx.TextCtrl(self, -1)
self.change_btn = wx.Button(self, -1, label = u"修改")
self.Bind(wx.EVT_BUTTON, self.onChange, self.change_btn)
def onChange(self, evt):
#获取修改的属性
x = self.xshow_textCtrl.GetLabelText()
y = self.yshow_textCtrl.GetLabelText()
fl = open("script.py", "w")
#找到相应位置修改
fl.seek(self.offsetx)
fl.write("x = %s\n" % x)
fl.seek(self.offsety)
fl.write("y = %s\n" % y)
fl.close()
def doyout(self):
mainSizer = wx.BoxSizer(wx.VERTICAL)
self.SetSizer(mainSizer)
#x显示
xSizer = wx.BoxSizer(wx.HORIZONTAL)
mainSizer.Add(xSizer, 1, wx.EXPAND)
x_label = wx.StaticText(self, -1, label = "X:")
xSizer.Add(x_label, 0, wx.ALL, 10)
xSizer.Add(self.xshow_textCtrl, 0, wx.ALL, 10)
#y显示
ySizer = wx.BoxSizer(wx.HORIZONTAL)
mainSizer.Add(ySizer, 1, wx.EXPAND)
y_label = wx.StaticText(self, -1, label = "Y:")
ySizer.Add(y_label, 0, wx.ALL, 10)
ySizer.Add(self.yshow_textCtrl, 0, wx.ALL, 10)
#按键
mainSizer.Add(self.change_btn, 0, wx.ALL, 10)
def setPrepertise(self):
x, y = self.getXY()
self.xshow_textCtrl.SetLabel(str(x))
self.yshow_textCtrl.SetLabel(str(y))
def getXY(self):
fl = open("script.py", "r")
msg = ""
line = fl.readline()
while line and line[-1]:
if line.startswith("x"):
msg += line
self.offsetx = fl.tell() - len(line)#得到x那行的起始位置
elif line.startswith("y"):
msg += line
self.offsety = fl.tell() - len(line)#得到y那行的起始位置
line = fl.readline()
x = 0
y = 0
exec msg#给x,y赋值
return x, y
class TestFrame(wx.Frame):
def __init__(self, *args, **kwargs):
wx.Frame.__init__(self, None, title = u"测试Frame", size = (400, 300),
pos = (400, 200))
TestPanel(self)
if __name__ == '__main__':
app = wx.PySimpleApp()
frame = TestFrame()
frame.Show()
app.MainLoop()
filenames=os.listdir('D:\\workspace\\python\\src\\test')
上面的代码执行之后,filenames中存储的只是文件名字的列表,不包括路径!
所以for循环里面应该是
path = 'D:\\workspace\\python\\src\\test'
os.rename(os.path.join(path, filenames[a]),str(a)+'.bmp')