Python操作CMD大揭秘!轻松玩转命令行控制

news2024/10/7 18:23:16

300?wx_fmt=png&wxfrom=19


导语:

命令行界面(Command Line Interface,简称CLI)是计算机操作系统中一种基于文本的用户界面,通过输入命令来与计算机进行交互。Python作为一门强大的编程语言,提供了丰富的库和模块,可以方便地操作CMD,本文将详细介绍如何使用Python来操作CMD,助您轻松玩转命令行控制。

一、Python中的os模块

os模块是Python中用于提供与操作系统进行交互的接口的一个标准库。通过os模块,我们可以执行CMD命令、获取当前目录、创建和删除文件夹等操作。

执行CMD命令

Python中的os模块提供了执行CMD命令的函数os.system(command),其中command是要执行的CMD命令。例如,要在CMD中执行ping命令,可以使用以下代码:

import os
# 执行CMD命令
os.system("ping www.example.com")

获取当前目录

使用os模块的os.getcwd()函数可以获取当前Python脚本所在的目录。例如,要获取当前目录并打印输出,可以使用以下代码:​​​​​​​

import os

# 获取当前目录
current_dir = os.getcwd()

# 打印输出当前目录
print("当前目录:", current_dir)

创建和删除文件夹

使用os模块的os.mkdir(path)函数可以创建文件夹,os.rmdir(path)函数可以删除文件夹。其中,path是要创建或删除的文件夹路径。例如,要在当前目录下创建一个名为"test"的文件夹,可以使用以下代码:​​​​​​​

import os

# 创建文件夹
os.mkdir("test")

二、Python中的subprocess模块

subprocess模块是Python中用于创建新进程、连接到子进程并与其进行通信的标准库。通过subprocess模块,我们可以更灵活地操作CMD,包括获取CMD命令的输出、向CMD写入输入等。

获取CMD命令的输出

使用subprocess模块的subprocess.run(args, capture_output=True, text=True)函数可以执行CMD命令,并返回命令的输出结果。其中,args是要执行的CMD命令,capture_output=True表示捕获命令的输出,text=True表示以文本形式返回输出结果。例如,要获取CMD中执行"dir"命令的输出结果,可以使用以下代码:​​​​​​​

import subprocess
# 执行CMD命令并获取输出
result = subprocess.run(["dir"], capture_output=True, text=True)
# 打印输出结果
print(result.stdout)

向CMD写入输入

使用subprocess模块的subprocess.run(args, input=input_data, capture_output=True, text=True)可以执行CMD令,并向CMD写入输入。其中,args是要执行的CMD命令,input=input_data表示要写入的输入数据,capture_output=True表示捕获命令的输出,text=True表示以文本形式返回输出结果。例如,要向CMD中执行"ping"命令并写入输入"www.example.com",可以使用以下代码:​​​​​​​

import subprocess
# 执行CMD命令并写入输入
result = subprocess.run(["ping"], input="www.example.com", capture_output=True, text=True)
# 打印输出结果
print(result.stdout)

三、Python中的shutil模块

shutil模块是Python中用于对文件和文件夹进行操作的标准库。通过shutil模块,我们可以方便地复制、移动、删除文件和文件夹。

复制文件和文件夹

使用shutil模块的shutil.copy(src, dst)函数可以复制文件或文件夹,其中src是要复制的源文件或源文件夹路径,dst是目标文件或目标文件夹路径。例如,要复制当前目录下的"example.txt"文件到"test"文件夹中,可以使用以下代码:​​​​​​​

import shutil
# 复制文件
shutil.copy("example.txt", "test")

移动文件和文件夹

使用shutil模块的shutil.move(src, dst)函数可以移动文件或文件夹,其中src是要移动的源文件或源文件夹路径,dst是目标文件或目标文件夹路径。例如,要当前目录下的"example.txt"文件移动到"test"文件夹中,可以使用以下代码:​​​​​​​

import shutil
# 移动文件
shutil.move("example.txt", "test")

删除文件和文件夹

使用shutil模块的shutil.rmtree(path)函数可以删除文件夹及其所有内容,os.remove(path)函数可以删除文件。例如,要删除当前目录下的"example.txt"文件和"test"文件夹,可以使用以下代码:​​​​​​​

import os
import shutil

# 删除文件
os.remove("example.txt")

# 删除文件夹及其所有内容
shutil.rmtree("test")

结束语:

通过Python操作CMD,我们可以方便地执行命令、获取输出、创建、复制、移动和删除文件和文件夹等操作。使用os、subprocess和shutil等模块,我们可以轻松玩转命令行控制,提高工作效率。希望本文能对您有所帮助,助您更好地使用Python进行CMD操作。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1167647.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

竖拍的视频怎么做二维码?竖版视频二维码制作技巧

为了方便视频的展示和传播,现在将视频生成二维码后来使用的方式越来越常见,很多做二维码工具都可以制作视频二维码,但是无法设置下载权限或者播放竖版视频。那么如果做有下载功能的视频码该如何制作,可能很多小伙伴都不知道怎么做…

(免费领源码)java#springboot#mysql网上商城系统的设计与实现08789-计算机毕业设计项目选题推荐

摘 要 随着互联网趋势的到来,各行各业都在考虑利用互联网将自己推广出去,最好方式就是建立自己的互联网系统,并对其进行维护和管理。在现实运用中,应用软件的工作规则和开发步骤,采用Java技术建设网上商城系统。 本设…

Google play开发者账号注册的实用技巧与建议——身份验证、付款资料、支付成功注册失败?

总所周知,如果要在Google paly应用商店上发布应用,需要先注册谷歌开发者账号。但随着发展,谷歌对开发者账号的审核越来越严格,要求越来越多,账号注册通过率越来越低,频繁被封,令开发者们苦恼不已…

「更新」Topaz Video AI v4.0.3中文版

Topaz Video AI是一款功能强大的视频处理软件,它利用人工智能技术对视频进行智能分析和优化,旨在为用户提供高效、智能的视频编辑和增强功能。 首先,Topaz Video AI具备强大的视频修复功能。它可以自动识别并修复视频中的各种问题&#xff0…

物联网AI MicroPython传感器学习 之 MLX90614红外测温传感器

学物联网,来万物简单IoT物联网!! 一、产品简介 MLX90614是一款由迈来芯公司提供的低成本红外温度计,用于非接触式温度测量,红外测温是根据被测物体的红外辐射能量来确定物体的温度,不与被测物体接触,具有不…

MobPush后台配置教程

在MobPush或类似的消息推送服务中,进行有效完善的后台推送设置对于实现定向推送和个性化推送至关重要。以下是MobPush配置包名等操作的后台设置指南。 1、配置包名 (非必须)设置默认包,默认包是在后台创建推送时多包名选择的默认选项,可设置…

二叉树搜索树的应用

二叉树搜索树的应用 1. 二叉树搜索树的应用2. 二叉搜索树的性能分析3. 二叉树进阶面试题 1. 二叉树搜索树的应用 K模型:K模型即只有key作为关键码,结构中只需要存储Key即可,关键码即为需要搜索到的值。(确定一个值在不在&#xf…

Redo Log(重做日志)的刷盘策略

1. 概述 Redo Log(重做日志)是 InnoDB 存储引擎中的一种关键组件,用于保障数据库事务的持久性和崩溃恢复。InnoDB 将事务所做的更改先记录到重做日志,之后再将其应用到磁盘上的数据页。 刷盘策略(Flush Policy&#x…

Spring底层原理(六)

Spring底层原理(六) 本章内容 介绍AOP的实现方式、JDK代理的模拟实现与源码 AOP的实现方式 使用代理模式 jdk动态代理cglib动态代理 使用aspectj的编译器,该编译器会直接对字节码进行修改,可以实现静态方法增强 使用javaagent,在jvm option中指定-…

MYSQL 8.0 配置CDC(binlog)

CDC(Change Data Capture)即数据变更抓取,通过源端数据源开启CDC,ROMA Connect 可实现数据源的实时数据同步以及物理表的物理删除同步。这里介绍通过开启Binlog模式CDC功能。 注意:1、使用MYSQL8.0及以上版本。 2、不…

快讯|2024 财年第一季度 Tubi 收益增长了 30%

2024 财年第一季度 Tubi 收益增长了 30%,月活跃用户达到了 7000 万 近日,在 2024 财年第一季度财务收益电话会议上,Fox 执行主席兼 CEO Lachlan Murdoch 对 Tubi 的增长表示赞赏:“Tubi 又多了一个令人羡慕的季度,收入…

电脑技巧:台式机噪音非常大的几个原因以及解决办法

目录 一、CPU风扇灰尘太厚、风扇轴承老化 二、电源风扇有灰尘或者老化 三、显卡风扇有灰尘或者老化 四、硬盘老化导致的电脑主机声音大 五、台式机CPU风扇声音过大 今天小编给大家分享台式机噪音非常大的几个原因以及解决办法,值得收藏! 一、CPU风…

Typecho V1.2.1 博客更换域名还原

网站老是到期或则要换服务器(IP地址),单独改IP老是有图片不能加载,出个完整的迁移教程: 系统环境:Ubuntu 2204 宝塔面板 8.0.3 Nginx1.22 PHP 8.1 MySQL 5.7 备份 进入宝塔将网站根目录直接压缩&#xff0…

如何调试 Dubbo 协议调用过程

微服务架构下的快速交付、灵活部署等优势使得 Dubbo 协议已成为了当今互联网基础建设里的一大热点。 Dubbo 协议是一款由阿里巴巴开发并开源的一款高性能 Java RPC 框架,凭借着高效的远程调用、服务注册与发现、灵活的配置等特点,在微服务后端开发场景中…

Excel自学三部曲_Part3:Excel工作场景实战(四)

文章目录 四、高级函数与数据连接1. 多窗口操作2. VLOOKUP函数3. XLOOKUP函数4. CSV数据格式 四、高级函数与数据连接 1. 多窗口操作 如何将两张子表数据(战区信息、城市信息)连接到主表数据(成交数据),增加主要数据的…

AI识别网关助力打造防溺水监测预警系统

防溺水监测预警系统的应用场景广泛,常见的诸如海边、河道、湖泊、泳池等多种场景,均可借助防溺水监测预警系统加强保障民众人身安全。随着科技水平不断提升,防溺水监测预警系统不断融合人工智能、视觉识别、物联网等先进技术,能够…

三季度业绩狂飙后,贝泰妮将开启集团化运营的“中场战事”?

双十一前夕,贝泰妮交出了一份亮眼的答卷。 得益于销售端和研发端的发展动能强劲,第三季度贝泰妮营收10.64亿元,同比增长25.77%;扣非净利润1.34亿元,同比增长39.88%。 如此亮眼的业绩,自然引得资本市场侧目…

【Python】多进程线程与CPU核数

多进程数量设置为CPU核数,或者略小于CPU核数;多线程数量,如果是CPU密集任务设为1;如果是IO密集设为合理的值;IO密集型:系统运作,大部分的状况是CPU 在等I/O (硬盘/内存)的…

单链表的建立(头插法、尾插法)(数据结构与算法)

如果要把很多个数据元素存到一个单链表中,如何操作? 1.初始化一个单链表 2. 每次取一个数据元素,插入到表尾/表头 1. 尾插法建立单链表 尾插法建立的单链表元素顺序与输入数据集合的顺序相同,即按照输入数据的顺序排列。 使用尾插…

【蓝桥杯选拔赛真题09】C++输出回文数 青少年组蓝桥杯C++选拔赛真题 STEMA比赛真题解析

目录 C/C++输出回文数 一、题目要求 1、编程实现 2、输入输出 二、算法分析