开发者社区> 木子昭> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

Python3好用的原生api

简介: 读取特定目录下所有的文件夹, 和文件名os.walk() os.walk("./")是我最喜欢的api之一, 作用是获取某个路径下,所有的文件夹和文件的路径, 如果你是一个喜欢写脚本的人, 那这个api或许能帮你更优雅的实现你的程序~ impor...
+关注继续查看

读取特定目录下所有的文件夹, 和文件名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能提升我们的开发效率, 或许优秀的工程师, 就是在二者之间把握平衡的那类人吧~

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
Web API的CORS
Web API中进行跨域需要在请求头中加入允许跨域请求 Access-Control-Allow-Origin=*  上面代码代表允许所有跨域请求。当然也可以只允许某个站点进行跨域请求,只需将‘*’改为指定站定即可 Access-Control-Allow-Origin=“http://www.
781 0
Web APi之消息处理管道(五)
前言 MVC有一套请求处理的机制,当然Web API也有自己的一套消息处理管道,该消息处理管道贯穿始终都是通过HttpMessageHandler来完成。我们知道请求信息存在 RequestMessage 中,而响应信息则存在 ResponseMessage 中,当请求信息进入到管道中,此时HttpMessageHandler会对此进行相应的处理,当执行到控制器上的方法时此时就会进行响应,生成的响应信息HttpResponseMessage就会逆向通过HttpMessageHandler依次进行处理最终返回给客户端。
778 0
Web Api简单用法
ASP.NET MVC 4 包含了 ASP.NET Web API, 这是一个创建可以连接包括浏览器、移动设备等多种客户端的 Http 服务的新框架, ASP.NET Web API 也是构建 RESTful 服务的理想平台。
939 0
Web API 简单示例
原文:Web API 简单示例 一、RESTful和Web API   Representational State Transfer (REST) is a software architecture style consisting of guidelines and best practices for creating scalable web services.
982 0
****Web API 版本控制的几种方式
个人建议:用content type,即放在Header里面!比如加一个Version:1.4.3   这篇文章写得很好,介绍了三种实现web api版本化的三种方式。我从评论里又收集到两种方式,所以一共是5种: 方式一:利用URL   ? 1 2 HTTP GET: https://haveibeenpwned.
740 0
MVC4 WebAPI(一)
不管是因为什么原因,结果是在新出的MVC中,增加了WebAPI,用于提供REST风格的WebService,个人比较喜欢REST风格的WebService,感觉比SOAP要轻量级一些,而且对客户端的要求也更少,更符合网络数据传输的一般模式,客户端完全摆脱了代理和管道来直接和WebService进行交...
1088 0
Web API 版本控制的几种方式
http://www.troyhunt.com/2014/02/your-api-versioning-is-wrong-which-is.html 这篇文章写得很好,介绍了三种实现web api版本化的三种方式。
1172 0
Python之API:基于python语言调用华为云API(华为网站)实现特定功能
Python之API:基于python语言调用华为云API(华为网站)实现特定功能
272 0
+关注
木子昭
# 专注极客体验 # 享受效率生活 --- 让程序去做呗~ 程序又不会累~
217
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载