前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python3好用的原生api

Python3好用的原生api

作者头像
zhaoolee
发布2018-08-02 14:34:04
1.2K0
发布2018-08-02 14:34:04
举报
文章被收录于专栏:木子昭的博客木子昭的博客

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

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

代码语言:javascript
复制
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)

代码语言:javascript
复制
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一行代码就能搞定~

代码语言:javascript
复制
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能提升我们的开发效率, 或许优秀的工程师, 就是在二者之间把握平衡的那类人吧~
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018.07.31 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 读取特定目录下所有的文件夹, 和文件名os.walk()
  • 深拷贝
  • 随机取字符串(点名利器)
  • 反向切片
  • 小结
相关产品与服务
云开发 CloudBase
云开发(Tencent CloudBase,TCB)是腾讯云提供的云原生一体化开发环境和工具平台,为200万+企业和开发者提供高可用、自动弹性扩缩的后端云服务,可用于云端一体化开发多种端应用(小程序、公众号、Web 应用等),避免了应用开发过程中繁琐的服务器搭建及运维,开发者可以专注于业务逻辑的实现,开发门槛更低,效率更高。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档