在线客服
扫描二维码
下载博学谷APP
扫描二维码
关注博学谷微信公众号
如今,学习Python早已不仅仅是编程开发者的职业需求,而是成为人人都必须具备的一项基础技能。这其实是因为Python的强大实用性,使它几乎无所不能。那么,学习Python能实现哪些实际功能呢?下面我们就一起来看看,Python可以实现的一些有意思的实际功能。

1、批量修改文件后缀
本例子使用Python的os模块和argparse模块,将工作目录work_dir下所有后缀名为old_ext的文件修改为后缀名为new_ext。通过本例子,大家将会大概清楚argparse模块的主要用法。
导入模块
import argparse
import os
定义脚本参数
def get_parser():
parser = argparse.ArgumentParser(
description=' 工 作 目 录 中 文 件 后 缀 名 修 改 ') parser.add_argument('work_dir', metavar='WORK_DIR', type=str, nargs=1,
help='修改后缀名的文件目录')
parser.add_argument('old_ext', metavar='OLD_EXT',
type=str,nargs=1,help='原来的后缀)
parser.add_argument('new_ext', metavar='NEW_EXT',
type=str, nargs=1, help='新的后缀')
return parser
后缀名批量修改
def batch_rename(work_dir, old_ext, new_ext):
"""
传递当前目录,原来后缀名,新的后缀名后,批量重命名后缀
"""
for filename in os.listdir(work_dir):
# 获取得到文件后缀
split_file = os.path.splitext(filename)
file_ext = split_file[1]
# 定位后缀名为old_ext 的文件
if old_ext == file_ext:
# 修改后文件的完整名称
newfile = split_file[0] + new_ext
# 实现重命名操作
os.rename(
os.path.join(work_dir, filename), os.path.join(work_dir, newfile)
)
print(" 完 成 重 命 名 ")
print(os.listdir(work_dir))
实现Main
def main():
"""
main函数
"""
# 命令行参数
parser = get_parser()
args = vars(parser.parse_args())
# 从命令行参数中依次解析出参数
work_dir = args['work_dir'][0]
old_ext = args['old_ext'][0]
if old_ext[0] != '.':
old_ext = '.' + old_ext
new_ext = args['new_ext'][0]
if new_ext[0] != '.':
new_ext = '.' + new_ext
batch_rename(work_dir, old_ext, new_ext)
2、计算日期
#计算指定日期当月最后一天的日期和该月天数import datetime
import calendar
init_date = datetime.date.today()
print(' 当 前 给 定 时 间 :', init_date) current_month_days=calendar.monthrange(init_date.year,init_date.month)[1] print(calendar.month(2019,init_date.month))
current_month_last_day = datetime.date(init_date.year, init_date.month, current_month_days)
print("当月最后一天:",current_month_last_day)
print("该月天数:",current_month_days)
当前给定时间: 2019-12-08
December 2019
Mo Tu We Th Fr Sa Su
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31
当月最后一天: 2019-12-31
该月天数: 31
3、批量压缩文件
import zipfile # 导入zipfile,这个是用来做压缩和解压的Python模块;
import os import time
def batch_zip(start_dir):
start_dir = start_dir # 要压缩的文件夹路径
file_news = start_dir + '.zip' # 压缩后文件夹的名字
z = zipfile.ZipFile(file_news, 'w', zipfile.ZIP_DEFLATED)
for dir_path, dir_names, file_names in os.walk(start_dir):
# 这一句很重要,不replace的话,就从根目录开始复制
f_path = dir_path.replace(start_dir, '')
f_path = f_path and f_path + os.sep # 实现当前文件夹以及包含的所有文件的压缩
for filename in file_names:
z.write(os.path.join(dir_path, filename), f_path + filename)
z.close()
return file_news
batch_zip('./data/ziptest')
4、turtle绘制奥运五环图
turtle绘图的函数非常好用,基本看到函数名字,就能知道它的含义,下面使用turtle,仅用15行代码来绘制奥运五环图。
(1)导入库
import turtle
(2)定义画圆函数
def drawCircle(x,y,c='red'):
p.pu()# 抬起画笔
p.goto(x,y) # 绘制圆的起始位置p.pd()# 放 下 画 笔p.color(c)# 绘制c色圆环p.circle(30,360) #绘制圆:半径,角度
(3)画笔基本设置
p = turtle
p.pensize(3) # 画笔尺寸设置3
(4)绘制五环图
调画圆函数
drawCircle(0,0,'blue')
drawCircle(60,0,'black')
drawCircle(120,0,'red')
drawCircle(90,-30,'green')
drawCircle(30,-30,'yellow')
p.done()
结果:

5、32位加密
import hashlib
# 对字符串s实现32位加密
def hash_cry32(s):
m = hashlib.md5()
m.update((str(s).encode('utf-8')))
return m.hexdigest()
print(hash_cry32(1)) # c4ca4238a0b923820dcc509a6f75849b
print(hash_cry32('hello')) # 5d41402abc4b2a76b9719d911017c592
当然,学习Python能实现的实际功能还有很多,碍于篇幅的限制,这里就不一一举例了。感兴趣的小伙伴,可以在博学谷官网自行学习Python的更多在线课程,掌握更多的实用技能,比如用爬虫技术爬取数据等等。
— 申请免费试学名额 —
在职想转行提升,担心学不会?根据个人情况规划学习路线,闯关式自适应学习模式保证学习效果
讲师一对一辅导,在线答疑解惑,指导就业!
相关推荐 更多
Python开发中给定两个列表怎么找出相同元素和不同元素?
Python开发中给定两个列表怎么找出他们相同元素和不同元素?相同元素:print(set1&set2);不同元素:print(set1^set2)
13142
2019-06-28 14:18:46
Python容器可以存储哪些类型数据?
Python容器可以存储哪些类型数据?一般可以储存四种数据类型,即list(列表)、tuple(元组)、set(集合)和dict(字典)。下面为大家详细介绍分析Python容器的存储数据类型,这些也是大家在学习Python编程基础所必须掌握的知识点,还不了解的小伙伴赶紧接着看下去吧!
10427
2019-10-23 16:17:39
常见的反爬虫技术有哪些?如何防止别人爬自己的网站?
搜索引擎可以通过爬虫抓取网页信息,同时也有很多企业通过爬虫获取其他平台的信息用于数据分析或者内容优化,但是对于自身网站有些页面或者信息并不希望被爬虫抓取,那我们如何来实现反爬虫技术呢?如何防止别人爬自己的网站呢?
9146
2020-08-24 14:20:55
8月份的编程薪酬排名出来啦,看看是谁突出了重围!
提起编程语言首先第一个不得不说python,作为最流行的初学者编程语言,无论从什么榜单来看,python都一直排在了前10位,为什么python被列为了初学者最受欢迎的编程语言。虽然不像rust语言发展的迅速,但不像js那样老是老一套。根据开发者的经验编写。它的通用性,易用性使其成为最受初学者欢迎的编程语言。
5172
2021-08-25 18:47:39
闭包如何使用?能解决什么问题?
闭包如何使用?能解决什么问题?闭包可以保存外部函数内的变量,且不会随着外部函数调用完而销毁。我们学习闭包需要掌握了解闭包的作用。
3665
2022-02-12 11:20:57
