专栏首页木子昭的博客Python3好用的原生api

Python3好用的原生api

读取特定目录下所有的文件夹, 和文件名os.walk()

os.walk("./")是我最喜欢的api之一, 作用是获取某个路径下,所有的文件夹和文件的路径, 如果你是一个喜欢写脚本的人, 那这个api或许能帮你更优雅的实现你的程序~

import os
for relative_file_dir_path, file_dir_name, file_name in os.walk('./'):
    print("当前文件夹路径(字符串)", relative_file_dir_path)
    print("当前文件夹目录下包含的文件夹(数组)", file_dir_name)
    print("当前文件夹目录下包含的文件名(数组)", file_name)
    print("---"*10)

这个操作非常适合编写文件处理脚本, 比如你想将某个目录下的markdown文件批量转换为word文档, 参考Python将md批量转为docx, 或者将less批量转换为css, 参考批量转换less至css, 配合其他优秀的库, 你可以完成一些好玩的操作, 比如 网站图片素材中文转英文

深拷贝

相比js蛋疼的深拷贝操作, python的深拷贝简单粗暴 copy_name = deepcopy(name)

from copy import deepcopy

name = ["z", "h", "a", "o", "o", "l", "e", "e"]
copy_name = deepcopy(name)
copy_name[0] = "Z"
print("原列表", name);
print("新列表", copy_name)

一个优秀的api就应该简洁强大, 见名知意, 反向对比js的深拷贝, js的深拷贝简直就是一门学问, 而且几乎是面试必问, 当然深入研究一下也并非不好, 但如果开发者精力有限, 优秀的api可以极大提升我们的工作效率

随机取字符串(点名利器)

如果你想写一个点名的小程序, python一行代码就能搞定~

import random

for i in range(10):
    group = random.choice(["白月初", "东方月初", "苏苏", "红红", "王富贵", "清瞳"])
    print("第", i,"周",  group, "打扫教室...")

反向切片

python的切片操作可谓是优雅强大, 通过反向切片, 你可以迅速获得一个列表的反向序列

对列表进行反序是一个很常见的操作, 但python反向切片的玩法实在是非常简洁, 让人无法拒绝, 其实对某一数据结构进行"反向"是一个很有意思的操作, 比如对二叉树进行反序明星程序员被Google挂掉的故事, 还有google著名的 在不使用额外空间的前提下, 对句子内的单词进行反序的问题, 比如将This is a pen 反向为 pen a is This

小结

  • Python为我们提供了大量好用的api, 可以让我们的需求快速得到实现, 极大提升我们的开发效率, 但很多问题, 并不是用几个简单api就能搞定的, 比如前面提到的google的在不使用额外空间的情况下, 将This is a pen 反向为 pen a is This, 这个题目的解法非常巧妙, 首先将This is a pen 转换为nep a si sihT, 然后根据空格所处的位置, 将单个的单词自身的序列进行调换, 这样就可以将, nep a si sihT转换为pen a is This
  • 优秀的算法能让我们以更少的资源的实现程序, 优秀的api能提升我们的开发效率, 或许优秀的工程师, 就是在二者之间把握平衡的那类人吧~

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 精析Python3实现动态web服务(附服务端源码)如果我们提供一个动态网站服务,至少应考虑以下四点:一个优秀的动态web框架应该是这样的:关于WSGI标准WIGS模型的要点:实现源码小结:

    实现一个简单的静态web网站,只需将写好的html页面上传到特定的web服务器软件即可,但静态网页其实和图片没什么区别,每次更新网站内容,都需要重新制作htm...

    zhaoolee
  • 三个免费的无版权图片站

    zhaoolee
  • 原生js使用FormData上传文件并监听进度(附前后端实现源码)

    本文代码及相关素材已经托管到Github仓库, 永久下载地址https://github.com/zhaoolee/Blog/tree/master/form_...

    zhaoolee
  • 如何开发以太坊网页钱包·Express + web3.js 实例

    中国广东省深圳市龙华新区民治街道溪山美地 518131 +86 13113668890 <netkiller@msn.com>

    netkiller old
  • python——使用map快速匹配字典的

    场景很简单,如上面的代码,一个字典type_Dict,有五个键值对,随后我们新建了一个list并转换为Dataframe,列名为name。

    py3study
  • 用Python来分析一波周董新曲《说好不哭》为何如此火爆!

    其中可以看到两个重要参数:<fontcolor = “FF0000”>pagenum 和 <fontcolor = “FF0000”>pagesize

    YINUXY
  • python练习题-day16

    name=["alex","wupeiqi","yuanhao","nezha"]

    郭耀华
  • 小朋友学Java(7):继承

    在学习Java的继承之前,可以先复习一下C++的继承: http://www.jianshu.com/p/bc9b7ddb141c 一、定义 继承就是子类(派生...

    海天一树
  • 逐行阅读Spring5.X源码(二) BeanDefinition的父接口-AttributeAccessor 、BeanMetadataElement ,进阶

    温馨提示:如果读者刚接触spring源码,建议从本专题第一篇读起,这样知识点才能串联起来。 本片博客你将学到BeanDefinition的父接口: 1. A...

    源码之路
  • python-列表方法(list)知识整理

    py3study

扫码关注云+社区

领取腾讯云代金券