在线客服
扫描二维码
下载博学谷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开发可以从事哪些工作?Python的前景怎么样?如果现在开始学习Python编程语言,你会不会担心以后找不到一份满意的工作?作为初学者都会有这样的疑问,2018年被成为Python元年,各大权威机构发布Python已经成为世界前三大编程语言之一。那学习python开发可以从事哪些工作,薪资待遇又如何呢?下面我们一起了解一下吧!
7885
2019-08-08 10:12:26
五个优化Python开发和配置的小技巧
本文主要为大家详细介绍了五个优化Python开发和配置的小技巧,具有一定的参考价值,如果你能在Python开发和配置中中避免这些问题,作为你一个Python开发者你会获得更好的开发体验并且有更高的开发效率。感兴趣的小伙伴们可以参考一下。
6828
2019-07-05 15:37:52
反爬技术解决方案有哪些?常见的反爬措施分享
反爬技术解决方案有哪些?常见的反爬措施分享关于反爬技术Headers、IP限制、UA限制、验证码反爬虫或者模拟登陆、Ajax动态加载、cookie限制的相关介绍。
9390
2019-07-16 18:25:48
如何使用Python爬虫抓取数据?
Python爬虫应用十分广泛,无论是各类搜索引擎,还是日常数据采集,都需要爬虫的参与。其实爬虫的基本原理很简单,今天小编就教大家如何使用Python爬虫抓取数据,感兴趣的小伙伴赶紧看下去吧!
7947
2019-08-13 18:56:48
闭包如何使用?能解决什么问题?
闭包如何使用?能解决什么问题?闭包可以保存外部函数内的变量,且不会随着外部函数调用完而销毁。我们学习闭包需要掌握了解闭包的作用。
3028
2022-02-12 11:20:57