【项目实战】自监控-02-os

系统:Windows 7 语言版本:Anaconda3-4.3.0.1-Windows-x86_64 编辑器:pycharm-community-2016.3.2

  • 这个系列主要是实际在做项目的一个笔记
  • 自监控项目,主要是对采集的质量监控数据做的一个实时预警
  • 今天继续os模块,实现功能有:子文件(夹)查询删除文件重命名文件夹列表推导式也会用到

今日歌曲:

Part 1:子文件(夹)获取,删除文件

  1. 获取文件夹下的子文件和子文件夹
  2. 涉及到的函数为:os.listdir(path)path为绝对路径,返回一个子文件(夹)的名称组成的列表
  3. 删除所有后缀为xlsx的文件
  4. 其中使用了列表推导式,格式为:[表达式 for 变量 in 列表 if 条件 ],其中if 条件可以没有,表达式可以与变量取值相关也可以无关
    • list_2 = [x for x in list_1 if os.path.isfile(os.path.join(path2, x))]
import ospath2 = "F:\\【10】微信公众号\Python\\【2】文章\\20170720-项目1:数据自监控-2\\folder2"
list_1 = os.listdir(path2)
print("list_1=", list_1)

# 只保留文件
list_2 = [x for x in list_1 if os.path.isfile(os.path.join(path2, x))]
print("list_2=", list_2)

# 获取xlsx格式文件
list_3 = [x for x in list_2 if x.split(".")[1].upper() == "XLSX"]
print("list_3=", list_3)

# 删除xlsx文件
for x in list_3:
   os.remove(os.path.join(path2, x))list_4 = os.listdir(path2)
print("list_4=", list_4)

原文件夹

处理后

代码截图

Part 2:重命名文件夹名称

  1. 涉及到函数为:os.rename
import ospath2 = "F:\\【10】微信公众号\Python\\【2】文章\\20170720-项目1:数据自监控-2\\folder2"list_4 = os.listdir(path2)
print("list_4=", list_4)for x in list_4:
   if os.path.isdir(os.path.join(path2, x)):
       y = x + "-good"
       original_name = os.path.join(path2, x)
       new_name = os.path.join(path2, y)
       os.rename(original_name, new_name)list_4 = os.listdir(path2)
print("list_4=", list_4)

运行结果

代码截图

Part 3:Pycharm常用快捷键

  1. 在使用Pycharm的时候以下快捷键比较常用
    • Ctrl + B,鼠标移动对应函数处,使用该快捷键快速挑跳转到对应源代码
    • Ctrl + Alt +L,调整代码的格式,使其满足PEP8的规定,但是我的台式机貌似用不了,不知为啥
    • Ctrl + R,替换字符
    • Ctrl + F,查找字符

本文分享自微信公众号 - Python工程师(DatenSpiel)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2017-07-20

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

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏小麦苗的DB宝专栏

scrapy(一)scrapy 安装问题

error: Microsoft Visual C++ 14.0 is required. Get it with "Microsoft Visual C++ ...

12240
来自专栏逆向与安全

基于设备指纹零感验证系统

作者: 我是小三 博客: http://www.cnblogs.com/2014asm/ 由于时间和水平有限,本文会存在诸多不足,希望得到您的及时反馈与指正,多...

18920
来自专栏搜狗测试

API level targeting to 28,准备好了吗?

小编负责的地图手表项目,和Google合作,需要尽快完成targetsdk升级的适配测试工作。

9020
来自专栏深度学习和计算机视觉

Github | 标星1W+清华大学计算机系课程攻略!

https://github.com/PKUanonym/REKCARC-TSC-UHT/blob/master/README.md

22620
来自专栏搜狗测试

热修复测试,你注意到这些问题了吗?

2.2 热修复有效解决问题 传统的方案存在上述的问题通过热修复技术方案可以有效解决:

8720
来自专栏全栈前端精选

前端工程师为什么要学习编译原理?

普遍的观点认为,前端就是打好 HTML、CSS、JS 三大基础,深刻理解语义化标签,了解 N 种不同的布局方式,掌握语言的语法、特性、内置 API。再学习一些主...

9620
来自专栏eadela

linux--用户、权限

7520
来自专栏卓文见识

越权漏洞(e.g. IDOR)挖掘技巧及实战案例全汇总

Insecure Direct Object reference (IDOR)不安全的直接对象引用,基于用户提供的输入对象直接访问,而未进行鉴权,这个漏洞在国内...

11820
来自专栏嘘、小点声

MYSQL多表查询与事务

select * from emp,dept where emp.`dept_id` = dept.`id`;#设置过滤条件(隐式内连接)

7920
来自专栏小神仙

SignalR使用笔记

2) 默认情况下,这是IPrincipal.Identity.Name,但是可以通过向全局主机注册IUserIdProvider的实现来更改。

7920

扫码关注云+社区

领取腾讯云代金券

年度创作总结 领取年终奖励