我的编程空间,编程开发者的网络收藏夹
学习永远不晚

​Python学习教程_Python学习路线:python—收集系统信息

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

​Python学习教程_Python学习路线:python—收集系统信息

Python学习教程(Python学习路线):python—收集系统信息

1.1 hashlib模块使用

获取文件的MD5值,和shell下的MD5sum一样

方法一:先实例化一个对象,再使用update做校验,最后十六进制查看hexdigest

In [3]: import hashlib

In [5]: md5 = hashlib.md5

In [6]: md5.update("a")

In [7]: md5.hexdigest

Out[7]: '0cc175b9c0f1b6a831c399e269772661'

In [8]: md5.update("b\n") #叠加,实际为ab\n的值

In [9]: md5.hexdigest

Out[9]: 'daa8075d6ac5ff8d0c6d4650adb4ef29'

说明:

对比shell,哈希值一样

[root@huangzp3 python]# echo "ab"|md5sum

daa8075d6ac5ff8d0c6d4650adb4ef29 -

与shell下一致,-n #表示不加换行符

[root@huangzp3 python]# echo "a"|md5sum

60b725f10c9c85c70d97880dfe8191b3 -

[root@huangzp3 python]# echo -n "a"|md5sum

0cc175b9c0f1b6a831c399e269772661 -

方法二:字符串短时,直接调用

In [10]: hashlib.md5("hello").hexdigest

Out[10]: '5d41402abc4b2a76b9719d911017c592'

脚本:

运行结果:

[root@huangzp3 python]# python 01.py 1.py

e796a8f418fa90d7e4f0a162119f114a

[root@huangzp3 python]# cat 1.py |md5sum

e796a8f418fa90d7e4f0a162119f114a -

1.2 os.walk模块使用

os.walk:迭代目录里文件,返回一个列表,分别是:路径、路径下的目录、路径下的文件

In [17]: walk = os.walk("/root/python/a")

In [18]: for i,j,k in walk:print i,j,k

/root/python/a ['b'] ['a.txt']

/root/python/a/b ['c'] ['b.txt']

/root/python/a/b/c ['c.txt']

脚本:

运行结果:

[root@huangzp3 python]# python 02.py /root/python/

b9f6f7a02766b3f9bd28369c6c331218 /root/python/20.py

e796a8f418fa90d7e4f0a162119f114a /root/python/1.py

01b1b4f4b2eb7155187c27057e9a4de2 /root/python/1.pyc

1.3 生成器yield

想捕获函数的值,但是又不想退出程序。yield,记住当前函数的值,用于下次调用。调用时用next方法或者for循环遍历

修改如上脚本:

1.4 文件md5值的校验

找出目录中内容相同的文件

脚本:

运行结果:

[root@huangzp3 python]# python 04.py /root/python

b026324c6904b2a9cb4b88d6d61c81d1 ['./test/a/1.txt', './test/b/2.txt', './test.bak/test/a/1.txt', './test.bak/test/b/2.txt']

1.5 字典排序

字典是无序的

sorted(可迭代对象,cmp,key=根据什么排序,reverse=是否倒序),返回一个排序的列表

说明:key表示关键字;operator.itemgetter(0):根据字典的key值排序,(1)表示根据字典的value排序;reverse=True倒序

x.iteritems返回一个序列,items与iteritems的区别和range与xrange的区别一样

找出占用空间大的文件

脚本:

运行结果:

[root@huangzp3 python]# python 05.py /data/program/

/data/program/mongo/data/data27018/local.2 ------> 511M

/data/program/mongo/data/data27018/local.1 ------> 511M

/data/program/mongo/data/data27017/local.1 ------> 511M

/data/program/mongo/data/data27017/local.2 ------> 511M

/data/program/mongo/logs/mongodb-27018.log ------> 488M

/data/program/mysql/lib/libmysqld.a ------> 235M

/data/program/mongo/data/data27018/journal/j._7 ------> 128M

/data/program/mysql/bin/mysqld ------> 95M

/data/program/mysql/bin/mysql_client_test_embedded ------> 87M

/data/program/mysql/bin/mysql_embedded ------> 87M

1.6 python调用外部命令

1)os.system:输出在终端上,捕获不到

In [4]: os.system("ls")

001.sh 10.sh 1.py

2)os.popen:只能捕捉到标准输出,捕捉不到标准错误输出

In [12]: a = os.popen("ls")

In [13]: a.read

a.read a.readline

a.readinto a.readlines

3)os.popen2:返回2个对象,一个标准输入、一个标准输出

In [14]: sdtin,stdout = os.popen2("sort")

/usr/bin/ipython:1: DeprecationWarning: os.popen2 is deprecated. Use the subprocess module.

#!/usr/bin/python2

4)os.popen3:返回3个对象,标准输入、标准输出、标准错误输出

In [16]: stdin,stdout,stderr = os.popen3("ls a")

/usr/bin/ipython:1: DeprecationWarning: os.popen3 is deprecated. Use the subprocess module.

#!/usr/bin/python2

5)os.popen4:返回2个对象,pipe_in和pipe_out_err

6)subprosess

subpeocess.call('ls -l --color /root',shell=True)

说明:输出不能捕捉到,类似于os.system;不加-l,就不用shell

subprocess.check_call(['mkdir','/tmp/aaa'])

说明:会抛出python异常

In [19]: subprocess.call("ls -l",shell=True)

total 580868

-rw-r--r-- 1 root root 103 Nov 22 16:23 001.sh

-rw-r--r-- 1 root root 375 Nov 1 03:00 100.sh

-rw-r--r-- 1 root root 47624178 Nov 1 19:35 100.txt

捕捉异常

脚本:

运行结果:

[root@huangzp3 python]# python 06.py

hello world

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

​Python学习教程_Python学习路线:python—收集系统信息

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

​Python学习教程_Python学习路线:python—收集系统信息

Python学习教程(Python学习路线):python—收集系统信息1.1 hashlib模块使用获取文件的MD5值,和shell下的MD5sum一样方法一:先实例化一个对象,再使用update做校验,最后十六进制查看hexdigest
2023-06-02

Python学习教程(Python学习视频_Python学习路线):Day06 函数和模块的使用

Python学习教程(Python学习视频_Python学习路线):函数和模块的使用在讲解本章节的内容之前,我们先来研究一道数学题,请说出下面的方程有多少组正整数解。事实上,上面的问题等同于将8个苹果分成四组每组至少一个苹果有多少种方案。想
2023-06-02

Python基础学习教程_Python学习路线_我是Python小白,怎么入门Python

Python基础学习教程_Python学习路线_我是Python小白,怎么入门Python人生苦短,我用Python!!!短短几个字,现在在各大编程学习类平台随处可见,短短几个字,足以见Python今日的地位!为什么Python总被提起,为
2023-06-02

Python学习教程(Python学习路线):Python——SciPy精讲

Python学习教程(Python学习路线):Python——SciPy精讲SciPy 是 Python 里处理科学计算 (scientific computing) 的包,使用它遇到问题可访问它的官网 (https://www.scipy
2023-06-02

Python学习教程_Python学习路线:Python3里你不知道的秘密特性

Python学习教程_Python学习路线:Python3里你不知道的秘密特性概述到2020年,Python2的官方维护期就要结束了,越来越多的Python项目从Python2切换到了Python3。其实在实际工作中,很多伙伴都还是在用Py
2023-06-02

Python学习教程(Python学习路线):教你如何在交互式环境中执行Python程序

Python学习教程(Python学习路线):教你如何在交互式环境中执行Python程序相信接触过Python的伙伴们都知道运行Python脚本程序的方式有多种,目前主要的方式有:交互式环境运行、命令行窗口运行、开发工具上运行等,其中在不同
2023-06-02

Python学习教程(附Python学习路线图):Pandas中第二好用的函数

本次的Python学习教程是关于Python数据分析实战基础相关内容,本文主要讲的是Pandas中第二好用的函数——谦虚的apply。为什么说第二好用呢?那第一呢?秉承这谦虚使人进步,骄傲使人落后的品质,apply选择做一个谦虚又优雅的函数
2023-06-02

Python学习教程(Python学习路线):那些年我们踩过的那些坑。。。

Python学习教程(Python学习路线):那些年我们踩过的那些坑。。。坑01 - 整数比较的坑在 Python 中一切都是对象,整数也是对象,在比较两个整数时有两个运算符 == 和 is ,它们的区别是:is 比较的是两个整数对象的id
2023-06-02

Python学习教程100天(Python学习路线):Day07字符串和常用数据结构

字符串和常用数据结构使用字符串第二次世界大战促使了现代电子计算机的诞生,当初的想法很简单,就是用计算机来计算的弹道,因此在计算机刚刚诞生的那个年代,计算机处理的信息主要是数值,而世界上的第一台电子计算机ENIAC每秒钟能够完成约5000次浮
2023-06-02

从入门到精通真不难:Python最佳学习路线(视频学习教程)分享

随着人工智能时代的来临,Python开始崭露头角并迅速吸引了人们的广泛关注。很多人想要从事Python开发,但需要学什么内容、怎么快速学习呢?接下来就给大家分享Python最佳学习路线。帮你快速找准自己定位!第一阶段Python基础与Lin
2023-06-02

云计算学习路线教程大纲课件:EXT2/3/4文件系统

云计算学习路线教程大纲课件:EXT2/3/4文件系统:索引式文件系统====================================================================================Ex
2023-06-04

如何理解Python网络爬虫和web的系统学习路线图

如何理解Python网络爬虫和web的系统学习路线图,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。随着Python的不断崛起,TIOBE预计它最终将获得第一名。TIOBE在
2023-06-02

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录