一个批量修改文件名的Python程序
关于Python程序的运行,其实一个Python程序就相当于一个应用程序,它不需要经过编译,只需要用户电脑上面安装Python环境即可。要运行一个py程序,直接双击这个py文件即可。一般情况下,没有提示用户输入或控制屏幕显示,打开一个py文件时会突然闪一下马上就退出,这是由于程序运行已经完成了。若需要显示,则要添加一个屏幕暂停的代码:
os.system('pause')
在使用这个代码前,需要引用os模块:import os
下面开始介绍:
批量修改文件名仍然是用到了os模块,具体是使用os.rename(src, dst)方法,其中第一个参数src为文件原来的文件路径及文件名(包括后缀名),第二个参数dst为重新命名后的文件路径及文件名。批量修改文件名在实际工作中有时可能会用到,虽说在Windows操作系统中选中文件然后按F2可以自定义修改文件名,但是它会自动为文件序号部分添加圆括号(),有时可能并不是我们想要的顺序。另外,对于批量修改图片文件名,在ACDSee中也可以选中文件后批量修改图片文件名,但是它只局限批量于修改图片文件。如果要批量修改任何文件的文件名,通过编写一个不超过40行的Python程序即可完成。首先,我们来看一下这段程序代码:
# -*- coding: cp936 -*-
#file:E02.py
import os
#该函数用于更改文件名
def scan(arg, dirname, names):
#文件个数
fileNum=len(names)
eNum=1 #文件数目的数量级
tempfileNum=fileNum+startI
while tempfileNum/10>=1:
eNum+=1
tempfileNum=tempfileNum/10.0
print "共有文件:",fileNum
i=startI
for file in names:
fileIndex=str(i)
fileIndex=fileIndex.zfill(eNum)
print "修改文件:"+file+"——>"+beforeName+fileIndex+file[-4:]
file=dirname+"\"+file
相关文档:
import os
import unittest # 包含单元测试模块
import sqlite3 as sqlite # 包含sqlite3模块
def get_db_path():
return "sqlite_testdb"
class TransactionTests(unittest.TestCase): # 单元测试第一步: 由TestCase派生类
def setUp(self): # 单元测试环境配置
......
知识点
1.线程是“轻量级”进程,因为相较于进程的创建和管理,操作系统通常会用较少的资源来创建和管理线程。操作系统要为新建的进程分配单独的内在空间和数据;相反,程序中的线程在相同的内存空间中执行,并共享许多相同的资源。多线程程序在结内存的使用效率要优于多进程程序。
2.python提供了完整的多线 ......
在python中如何创建一个线程对象
如果你要创建一个线程对象,很简单,只要你的类继承threading.Thread,然后在__init__里首先调用threading.Thread的__init__方法即可
import threading
class mythread(threading.Thread):
def __init__(self, threadname):
& ......
在项目里面一个解析文本的工具里面用到了这个命令来赋值,开始一直知道意思,呵呵 查了下,找到方法如下:
exec
语句用来执行储存在字符串或文件中的Python语句。例如,我们可以在运行时生成一个包含Python代码的字符串,然后使用
exec
语句执行这些语句。下面是一个简单的例子。
> ......
Documentation for C's fopen():
---
r Open text file for reading. The stream is positioned at the beginning
of the file.
r+ Open for reading and writing. The stream is positioned at the
beginning of the file.
w Truncate file to zero length or create text file for writing. The
stream is posi ......