| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 系统运维 -> 中年大叔蝉联周榜亚军!今天告诉你一个小秘技:怎样用python来获取各种DOS命令显示的内容?注意不是返回值哦! -> 正文阅读 |
|
[系统运维]中年大叔蝉联周榜亚军!今天告诉你一个小秘技:怎样用python来获取各种DOS命令显示的内容?注意不是返回值哦! |
首先,要恭喜一下自己蝉联了周榜亚军! 言归正传,我们经常在C/C++中用“system("pause");”作暂停命令外,还有另外一些功能也很不错:
核心就用system()函数调用windows操作系统的DOS命令来做点事情,iOS、linux系统中也一样,仅需把引号中的命令行字符串换成对应操作系统的命令即可。 Python语言中,os库的system()函数同样也是这个功能,举个例子:
以上代码可以发出5次蜂鸣声,这个实质就是ascii字符7(beep)的显示。它在Python IDLE窗口中呈现为“echo ”中的那个粗圆点,可以用alt键+小键盘上的007键入;在DOS窗口下的python中除了这个方法还能用“Ctrl+G”录入,呈现为“^G”。 代码运行结束后,t 就接受了echo命令的返回值,DOS命令执行成功一般都返回 0 。 同样换个DOS命令“Date /t”来显示日期:
同样,也只返回一个 0 ,没有见到日期显示,但在控制台窗口下是可以显示的: ?time 命令也一样,另外这两个命令还能用“echo 环境变量”来实现。看上图中语句返回的两行第一行显示的是我们想获取的值,第二行是命令返回值,通过赋值只能得到这个返回值 0 。 题外话:DOS中用两个%把环境变量名括起来表示一个环境变量, 可以用dos命令 set 来显示和设置这些系统环境变量。除了用“set path”外,path 命令可以单独显示 %PATH% 变量。 从上图中可以看到,用引号和波浪线 :~pos, length 可以把环境变量值按开始位置和所要长度来分割开,类似python的字符串切片: str='2021-10-19'; str[0:4]。 各个时期的Dos版本的内部命令有增有减个数不定,另外还有很多的外部命令可用。?
回到正题,发个小秘技: 怎样才能获取dos命令显示的内容而不是返回值? 这要请出os库的另一个函数 popen() ,和fopen读取文件差不多,也用readlines()读取出信息的每一行;每一行都是一个以'\n'结尾的字符串元素,保存在同一个列表里,基本用法如下:
自定义几个能抓取DOS命令返回信息的函数:
dos命令还有很多很多,其中有实用信息返回的都可以用os.system.popen().readlines()来获取。 一起学习交流 Python 的群二维码地址:?http://qr01.cn/FHYKEa ? |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/15 19:33:56- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |