Python中系统命令

1:os.system

例如:查看cpu信息

>>> import os

>>> os.system("cat /proc/cpuinfo")

2:os.popen

该方法不但执行命令还返回执行后的信息对象,是通过一个管道文件将结果返回

>>> output=os.popen("cat /proc/cpuinfo")

>>> print(output.read())

3:commands模块(返回状态模块)

Commands.getoutput(cmd):返回命令的执行结果,没有返回值

commands.getstatusoutput(cmd)  返回一个元组(status,output)

status代表的shell命令的返回态,如果成功的话是0;output是shell的返回的结果

>>> import commands

>>> commands.getstatusoutput("ls /bin/ls")

(0, '/bin/ls')===》(这里0表示命令的返回状态,后面返回命令的执行结果)

4:模块subprocess

Subprocess.call: 执行命令,并返回执行状态,其中shell参数为False时,命令需要通过列表的方式传入,当shell为True时,可直接传入命令

subprocess.check_call():用法与subprocess.call()类似,区别是,当返回值不为0时,直接抛出异常

在当前目录下创建一个subprocesstest文件夹

a=subprocess.Popen("mkdir subprocesstest",shell=True,cwd='.')

5:shutil

(1):将文件内容考贝到另一个文件中(shutil.copyfileobj(fsrc, fdst[, length]))

>>> import shutil

>>> shutil.copyfileobj(open('old.xml','r'),open('new.xml','w'))

这里把old.xml中的内容考贝到new.xml中

(2): shutil.move(source,destination):将source移动到destination中,如果destination 指向一个文件夹,那么 source 文件将被移动到 destination 中,并且保持其原有名字,如果 destination 指向一个文件,那么 source 文件将被移动并重命名

(3):shutil.copyfile(src, dst)考贝文件

>>> import shutil

>>> shutil.copyfile('f1.log','f2.log')

(4):shutil.copymode(src, dst):仅拷贝权限。内容、组、用户均不变

(5):shutil.copystat(src, dst):仅拷贝状态的信息,包括:mode bits, atime, mtime, flags
(6):shutil.copy(src, dst):拷贝文件和权限
(7):shutil.copy2(src, dst):拷贝文件和状态信息

(8):shutil.copytree(src, dst, symlinks=False, ignore=None):递归的去拷贝文件夹

Src:原文件夹

Dst:目录文件夹

Symlinks: 如果 ` symlinks ` 为真, 源文件夹中的符号链接将会被保留,但是原链接的元数据不会被复制。如果值为假或被省略,则链接文件指向文件的内容和元数据复制到新文件夹树中

例如:

>>> import shutil

>>> shutil.copytree("f1","f2")

上面的例子中,将f1文件考贝到f2文件包括子文件,其实相当于复制一份f1命名为f2,目标文件夹应该不存在

(9): shutil.rmtree(path[, ignore_errors[, onerror]]):递归的去删除文件

删除整个文件夹,包括子文件夹

(10):shutil.make_archive(base_name, format,...):创建压缩包并返回文件路径,例如:zip、tar

base_name:要压缩成的文件名称

format:压缩成的格式(zip,tar,tar.gz,rar)

root_dir:要压缩的文件夹路径

案例:

>>> import shutil

>>> ret=shutil.make_archive("abc",'zip',root_dir="/home/gaoyuxia/Test")

将/home/gaoyuxia/Test目录下的所有文件压缩成abc.zip

将文件压缩后放在指定路径:

>>> ret=shutil.make_archive("/home/gaoyuxia/abc",'zip',root_dir="/home/gaoyuxia/Test")

6:ZipFile

f=zipfile.ZipFile(file, mode="r", compression=ZIP_STORED, allowZip64=False)

压缩:

f=zipfile.ZipFile(file, mode="r", compression=ZIP_STORED, allowZip64=False)

>>> import zipfile

>>> with zipfile.ZipFile("test.zip",mode="w") as zipf:

...     zipf.write("a.txt")

...     zipf.write("b.txt")

...

>>> zipf=zipfile.ZipFile("test.zip")

>>> print zipf.namelist()

['a.txt', 'b.txt']

解压:

f.extract(directory)和f.exractall(directory)

>>> import zipfile

>>> zipf=zipfile.ZipFile("test.zip")

>>> zipf.extractall("test/")

将test.zip解压到test目录下

1:zipfile.is_zipfile(filename) 
判断一个文件是不是压缩文件 (如果是压缩文件返回True,如果不是压缩文件返回False)

2:ZipFile.namelist() :返回压缩包中的文件列表

(1):先得到ZipFile

f=zipfile.ZipFile(“test.zip”)

(2):得到压缩包中的文件

f.namelist()

3 ZipFile.open(name[, mode[, password]]) :打开压缩文档中的某个文件

>>> f=zipfile.ZipFile("test.zip")

>>> f.open("a.txt").read() #读取文件的内容

7:TarFile

压缩:(压缩一个文件夹下的所有文件)

>>> import os

>>> import tarfile

>>> __author__="Administrator"

>>> def main():

...     cwd=os.getcwd()

...     tar=tarfile.open("test.tar","w:gz")

...     for root,dir,files in os.walk(cwd):

...             for file in files:

...                     fullpath=os.path.join(root,file)

...                     tar.add(fullpath)

...

>>> if __name__=='__main__':

...     main()

解压:

>>> with tarfile.open("a.tar","r") as tar:

...     print(tar.getmembers()) #查看压缩包内文件成员

...     tar.extractall() #解压全部文件


8:time模块

#------将结构化时间转成字符串时间strftime

print(time.strftime("%Y---%m-%d %X",time.localtime()))

#------将字符串时间转成结构化时间strptime

print(time.strptime("2016:12:24:17:50:36","%Y:%m:%d:%X"))

转载于:https://www.cnblogs.com/gaoyuxia/p/10401698.html

Python中系统命令相关推荐

  1. python中os system_Python调用系统命令os.system()和os.popen()的实现

    作为一门脚本语言,写脚本时执行系统命令可以说很常见了,python提供了相关的模块和方法. os模块提供了访问操作系统服务的功能,由于涉及到操作系统,它包含的内容比较多,这里只说system和pope ...

  2. linux python脚本返回,在C/python中执行linux命令并得到返回值以及输出

    一般来说,用shell的方便之处在于,能够直接调用linux系统命令,方便的得到结果. 但是shell scprit的约束重重(这里不再讲了).下面说一下在C和python中如何调用linux命令.得 ...

  3. python 中的os模块

    python os模块 Python os 模块提供了一个统一的操作系统接口函数 一.对于系统的操作 1.os.name 当前使用平台 其中 'nt' 是 windows,'posix' 是linux ...

  4. python中 12_python编程中常用的12种基础知识总结

    1.正则表达式替换 目标: 将字符串line中的 overview.gif 替换成其他字符串 >>> line =' >>> mo=re.compile(r'(?& ...

  5. 【初学】python执行系统命令四种方法比较

    Python中执行系统命令常见的几种方法有 注意:以下实例代码在Python3.5下运行通过. 一.os.system方法 os.system(cmd) 在子终端运行系统命令,可以获取命令执行后的返回 ...

  6. Python中调用Linux命令之os.system、os.popen

    一.简介 os.system方法是os模块最基础的方法,其它的方法一般在该方法基础上封装完成. 二.os.system原理 system函数可以将字符串转化成命令在服务器上运行: 其原理是每一条sys ...

  7. python中doc=parased.getroot()_python实例手册.py

    python实例手册 #encoding:utf8 # 设定编码-支持中文 0 说明 手册制作: 雪松 littlepy www.51reboot.com 更新日期: 2016-01-21 欢迎系统运 ...

  8. 在Python中使用Stata:IPyStata介绍

    1.关于Python和Stata Python,易学易懂,其自然语言一般的语法行云流水,已经获得无数科学家.工程师的青睐.在2019年的世界编程语言中,Python已超过C++成为全世界第三大编程语言 ...

  9. python调用ping命令并输出ttl_详解Python调用系统命令的六种方法

    作为胶水语言,Python可以很方便的执行系统命令,Python3中常用的执行操作系统命令有os.system().os.popen().subprocess.popen().subprocess.c ...

  10. python调用系统命令

    一.python调用系统命令 大概有四种形式,的: 1.os.system('ls'):返回结果为该命令的返回值 2.tmp =os.popen('ls').readlines();将命令返回结果的返 ...

最新文章

  1. flux java_FluxJava 新增 RxJava2 的支援功能
  2. 25.CSS其他样式
  3. 解决Vs输出中文乱码的问题
  4. leetcode中文版python_Python版LeetCode1.两数之和
  5. AHK-UMSS框架 (AHK通用修饰键解决方案,任何键都是修饰键)
  6. Tensorflow深度学习应用(进阶篇)-回归(函数拟合训练)-可视化
  7. 如何为Linux安装Go语言
  8. swift 项目_谷歌为何要养苹果的亲儿子Swift?原来意在可微分编程
  9. Spring Boot/Cloud 背后豪华的研发团队
  10. git撤销单个文件的修改_程序员都要掌握的 Git 使用技巧【实践】
  11. Android新浪微博分享
  12. 移动端web开发之坑---input内文字与同行文字不对齐问题
  13. win10 修改用户名
  14. Ansible自动运维工具
  15. 内网环境 CentOS7 搭建本地repo仓库源
  16. 【玩转微信公众平台之二】 账号注册
  17. 【Vue知识点- No8.】网易云音乐案例(vant组件库的使用)
  18. java加载字体文件_Java的加载自定义字体文件(.TTF)
  19. 如何查看IIS并发连接数
  20. 新版kettle学习

热门文章

  1. 编译OpenJDK8-u302出错:error C3861: “INT64_C”: 找不到标识符
  2. MAC编译OpenJDK8:iostream file not found(独家解决办法)
  3. LINUX任务栏上出现的小窗口是怎么回事
  4. eclipse中汉字对齐错误
  5. ImportError: No module named _internal
  6. python smooth函数_利用Python程序完成ABAQUS中的一些重复性操作
  7. 不保留小数php,php怎么实现不保留小数
  8. redis php web管理,redis web界面管理工具 phpredisadmin
  9. C++中的explicit、implicit关键字
  10. JAVA里plain_Java中POJO及其细分XO、DAO的概念