2444Python3 os.rename() 方法

一个修改单层目录下文件扩展名的程序

动机是懒得一个个修改哔哩哔哩手机客户端缓存的 *.blv 文件为 *.flv 文件合并暂不涉及

刚刚网络首播的《你的名字》为例,文件夹下一共17个blv文件,以及一些其他类型的文件:

处理程序是改编的(参看引用地址),很短小:# 搜寻单层目录下的blv文件并将其转换为flv文件# 用于哔哩哔哩缓存视频blv格式转换后合并(本例程只是做个小小的扩展名转换)importosimportos.path

ext_from='.blv'ext_to='.flv'read_file_dir=input(r'请输入要修改文件扩展名的路径:')files=os.listdir(read_file_dir)# 列出当前目录下所有的文件forfilenameinfiles:portion=os.path.splitext(filename)# 分离文件名字和后缀ifportion[1]==ext_from:#检测扩展名newname=portion[0]+ext_to#改新的新扩展名os.chdir(read_file_dir)os.rename(filename,newname)print(os.path.basename(filename)+' -> '+os.path.basename(newname))

处理结果:0.blv->0.flv1.blv->1.flv10.blv->10.flv……

改完扩展名后结果图:

1182Python3 内置函数

Python 调试方法

1、printprint('here')

# 可以发现某段逻辑是否执行

# 打印出变量的内容

2、assertassert false, 'blabla'

# 如果条件不成立,则打印出 'blabla' 并抛出AssertionError异常

3、debugger

可以通过 pdb、IDE 等工具进行调试。

调试的具体方法这里不展开。

Python 中有两个内置方法在这里也很有帮助:locals: 执行 locals() 之后, 返回一个字典, 包含(current scope)当前范围下的局部变量。

globals: 执行 globals() 之后, 返回一个字典, 包含(current scope)当前范围下的全局变量。

1181Python3 日期和时间

#!/usr/bin/python

import time

import calendar

"""

时间元组(年、月、日、时、分、秒、一周的第几日、一年的第几日、夏令时)

一周的第几日: 0-6

一年的第几日: 1-366

夏令时: -1, 0, 1

"""

"""

python中时间日期格式化符号:

------------------------------------

%y 两位数的年份表示(00-99)

%Y 四位数的年份表示(000-9999)

%m 月份(01-12)

%d 月内中的一天(0-31)

%H 24小时制小时数(0-23)

%I 12小时制小时数(01-12)

%M 分钟数(00=59)

%S 秒(00-59)

%a 本地简化星期名称

%A 本地完整星期名称

%b 本地简化的月份名称

%B 本地完整的月份名称

%c 本地相应的日期表示和时间表示

%j 年内的一天(001-366)

%p 本地A.M.或P.M.的等价符

%U 一年中的星期数(00-53)星期天为星期的开始

%w 星期(0-6),星期天为星期的开始

%W 一年中的星期数(00-53)星期一为星期的开始

%x 本地相应的日期表示

%X 本地相应的时间表示

%Z 当前时区的名称 # 乱码

%% %号本身

"""

# (1)当前时间戳

# 1538271871.226226

time.time()

# (2)时间戳 → 时间元组,默认为当前时间

# time.struct_time(tm_year=2018, tm_mon=9, tm_mday=3, tm_hour=9, tm_min=4, tm_sec=1, tm_wday=6, tm_yday=246, tm_isdst=0)

time.localtime()

time.localtime(1538271871.226226)

# (3)时间戳 → 可视化时间

# time.ctime(时间戳),默认为当前时间

time.ctime(1538271871.226226)

# (4)时间元组 → 时间戳

# 1538271871

time.mktime((2018, 9, 30, 9, 44, 31, 6, 273, 0))

# (5)时间元组 → 可视化时间

# time.asctime(时间元组),默认为当前时间

time.asctime()

time.asctime((2018, 9, 30, 9, 44, 31, 6, 273, 0))

time.asctime(time.localtime(1538271871.226226))

# (6)时间元组 → 可视化时间(定制)

# time.strftime(要转换成的格式,时间元组)

time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())

# (7)可视化时间(定制) → 时间元祖

# time.strptime(时间字符串,时间格式)

print(time.strptime('2018-9-30 11:32:23', '%Y-%m-%d %H:%M:%S'))

# (8)浮点数秒数,用于衡量不同程序的耗时,前后两次调用的时间差

time.clock()

1180Python3 日期和时间

perf_counter 进度条实例:import time

scale = 50

print("执行开始".center(scale//2,"-")) # .center() 控制输出的样式,宽度为 25//2,即 22,汉字居中,两侧填充 -

start = time.perf_counter() # 调用一次 perf_counter(),从计算机系统里随机选一个时间点A,计算其距离当前时间点B1有多少秒。当第二次调用该函数时,默认从第一次调用的时间点A算起,距离当前时间点B2有多少秒。两个函数取差,即实现从时间点B1到B2的计时功能。

for i in range(scale+1):

a = '*' * i # i 个长度的 * 符号

b = '.' * (scale-i) # scale-i) 个长度的 . 符号。符号 * 和 . 总长度为50

c = (i/scale)*100 # 显示当前进度,百分之多少

dur = time.perf_counter() - start # 计时,计算进度条走到某一百分比的用时

print("\r{:^3.0f}%[{}->{}]{:.2f}s".format(c,a,b,dur),end='') # \r用来在每次输出完成后,将光标移至行首,这样保证进度条始终在同一行输出,即在一行不断刷新的效果;{:^3.0f},输出格式为居中,占3位,小数点后0位,浮点型数,对应输出的数为c;{},对应输出的数为a;{},对应输出的数为b;{:.2f},输出有两位小数的浮点数,对应输出的数为dur;end='',用来保证不换行,不加这句默认换行。

time.sleep(0.1) # 在输出下一个百分之几的进度前,停止0.1秒

print("\n"+"执行结果".center(scale//2,'-'))

测试输出:-----------执行开始----------

24 %[************->......................................]1.24s

1179Python3 SMTP发送邮件

在发送带附件的邮件的时候,例程中有一行代码如下:att1 = MIMEText(open('test.txt', 'rb').read(), 'base64', 'utf-8')

这里的 test.txt 必须是在当前的工作目录下的,所以要时想发送这个附件,需要将这个附件移动到工作目录下。

或者还有一种方法就是,指定文件的路径:path='D:/test/test.txt'

file=open(path,'rb')

att1=MIMEText(file.read(),'base64','utf-8')

也可以直接写成如下形式:att1=MIMEText(open('D:/test/test.txt', 'rb').read(),'base64','utf-8')

python中rename函数_Python3 os.rename() 方法相关推荐

  1. python中mktime函数_Python3 time mktime()方法

    Python3 time mktime()方法 描述 Python time mktime() 函数执行与gmtime(), localtime()相反的操作,它接收struct_time对象作为参数 ...

  2. python中bool函数用法_在python中bool函数的取值方法

    bool是Boolean的缩写,只有真(True)和假(False)两种取值 bool函数只有一个参数,并根据这个参数的值返回真或者假. 1.当对数字使用bool函数时,0返回假(False),任何其 ...

  3. Python中print()函数不换行的方法

    一.让print()函数不换行 在Python中,print()函数默认是换行的.但是,在很多情况下,我们需要不换行的输出(比如在算法竞赛中).那么,在Python中如何做到这一点呢? 其实很简单.只 ...

  4. python中round函数的精度保留方法---四舍六入五成双

    当我们利用python进行数据计算时,通常会对浮点数保留相应的位数,这时候就会用到round函数,相信各位朋友在进行使用时会遇到各种问题,关于round函数保留精度.保留方法的问题,本文会进行详细的解 ...

  5. 第5天-[21天学Python]-Python中自定义函数及调用的方法

    本章内容主要包括: 声明函数 调用自定义函数 变量作用域 各种类型的函数参数应用 使用lambda建立匿名函数 Python其他常用内建函数 1.使用函数 1.1 声明函数 在python中,函数必须 ...

  6. python中exp函数_Python3中exp()函数用法分析

    python中虚数函数exp怎么表示 复数由实数部分和虚数部分构成,可以用a + bj,或者complex(a,b)表示, 复数的实部a和虚部b都是浮点型 虚数函数exp用math是不行的要用cmat ...

  7. python中rename函数_python os.rename(…)不起作用!

    我正在编写一个Python函数,将一个文件列表的扩展名改为另一个扩展名,比如txt改为rar,这只是一个空闲的例子.但我有个错误.代码是:import os def dTask(): #Get a f ...

  8. Python中Function(函数)和methon(方法)

    首先来看他们的定义, 函数function -- A series of statements which returns some value to a caller. It can also be ...

  9. Python中Function(函数)和method(方法)

    在Python中,对这两个东西有明确的规定: 函数function -- A series of statements which returns some value to a caller. It ...

  10. python中readlines函数例子_Python遍历方法readline()和readlines()实例讲解

    在进行Python项目开发(http://www.maiziedu.com/course/python/)中我们需要遍历一个大日志文件,在这个时候我们应该使用readlines()还是readline ...

最新文章

  1. C++ dll 类型与 C#类型对应关系
  2. php xorcrevasse,XorEncrypt
  3. 有关android 应用的plugin框架调研
  4. 是c语言自带的数据类型吗_计协带你了解C语言程序
  5. Java培训分享void的用法和意义
  6. java内存泄漏与内存溢出
  7. mysql中DateTime、Date、Time、TimeStamp区别
  8. 嵌入式开发辅助工具_JPG图片转HEX工具
  9. 关于windriver WD_NO_LICENSE错误和解决办法
  10. Java技术栈(跳槽,面试必备)
  11. C盘100G不够,如何用D盘(或者E、F)空间给C盘扩容?
  12. [AMV-GCNs Neurocomputing2021] Adaptive multi-view graph convolutional networks for skeleton-based ac
  13. 创建一个名为MyFileReader的类,设计一个方法 String read(String fileName, int n),该读取名为fileName的文件,返回文件中第n行的内容
  14. python猜大小程序_「每日一练」巧用python实现猜大小的游戏
  15. android beam小米,小米手机自定义空白卡模拟加密卡门禁卡教程
  16. MSI和MSI-X对比(五)
  17. 怎么利用计算机为学生成绩进行排名,使用excel为学生成绩排序的方法和步骤
  18. 有冗余电源的台式计算机,台式机500w电源是否足够
  19. 【Java】JUC(java.util.concurrent)工具包中的并发相关
  20. 怎么做一份漂亮的地质图

热门文章

  1. 用python的turtle画五角星
  2. html 在线汉字转拼音,在线中文转拼音-汉字注音工具_蛙蛙在线工具
  3. android编程:调节视频画面分辨率,Android实现任意分辨率视频编码的思考与实现
  4. pcr技术发展史——人类核酸研究的前世今生
  5. 百度把黑科技发布会开到央视,主持人连连感叹:文科生都看懂了
  6. gite改提交的用户名称
  7. 二极管,电容正负极判断(图文)
  8. 滴滴美团58携程,那些发生在大并购谈判桌背后的故事
  9. 《阿里云服务器教程1》:如何购买阿里云服务器
  10. CAD画虚线怎么调比例?CAD画虚线教程