• 在线客服

  • 扫描二维码
    下载博学谷APP

  • 扫描二维码
    关注博学谷微信公众号

  • 意见反馈

原创 学习Python能实现哪些实际功能?

发布时间:2020-06-04 11:07:38 浏览 4354 来源:博学谷 作者:照照

    如今,学习Python早已不仅仅是编程开发者的职业需求,而是成为人人都必须具备的一项基础技能。这其实是因为Python的强大实用性,使它几乎无所不能。那么,学习Python能实现哪些实际功能呢?下面我们就一起来看看,Python可以实现的一些有意思的实际功能。

     

    学习Python实现功能

     

    1、批量修改文件后缀

     

    本例子使用Pythonos模块和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')

     

    4turtle绘制奥运五环图

     

    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()

     

    结果:

     

    学习Python实现功能

     

    532位加密

     

    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基础知识有哪些?

相关推荐 更多

热门文章

  • 前端是什么
  • 前端开发的工作职责
  • 前端开发需要会什么?先掌握这三大核心关键技术
  • 前端开发的工作方向有哪些?
  • 简历加分-4步写出HR想要的简历
  • 程序员如何突击面试?两大招带你拿下面试官
  • 程序员面试技巧
  • 架构师的厉害之处竟然是这……
  • 架构师书籍推荐
  • 懂了这些,才能成为架构师
  • 查看更多

扫描二维码,了解更多信息

博学谷二维码