Python之subprocess模块、sys模块

一、subprocess模块

# import os
# os.system(‘tasklist‘)       #类似cmd输入系统命令

‘‘‘
subprocess的目的就是启动一个新的进程并且与之通信。
subprocess模块中只定义了一个类: Popen。可以使用Popen来创建进程,并与进程进行复杂的交互。‘‘‘
import subprocess             #可以替代os.system
import time
#stdout命令正确输出结果,PIPE进程与进程之间共享的管道,shell=True代表调用命令解释器
obj=subprocess.Popen(
    ‘taskliasdfsadfst‘,             #可以输入系统命令
    shell=True,
    stdout=subprocess.PIPE,         #如输入tasklist
    stderr=subprocess.PIPE          #如输入taskliasdfsadfst

)
# print(obj)
stdout_res=obj.stdout.read()      #从儿子将正确的结果放到管道中,父亲等儿子将正确的结果放入管道,父亲从正确的管道读结果
print(stdout_res.decode(‘gbk‘))   ##windows默认的是gbk编码的,所以解码也要用gbk
print(stdout_res)

# stderr_res1=obj.stderr.read()              #
# stderr_res2=obj.stderr.read()
# stderr_res3=obj.stderr.read()
# print(stderr_res1.decode(‘gbk‘))          #windows默认的是gbk编码的,所以解码也要用gbk
# 打印结果:‘taskliasdfsadfst‘ 不是内部或外部命令,也不是可运行的程序
# 或批处理文件。

# print(stderr_res1)                          #第一次从管道中取走,后面再取则为空
# print(stderr_res2)
# print(stderr_res3)

# import time
# time.sleep(50)

二、sys模块

import sys

# sys.path:获取指定模块搜索路径的字符串集合,可以将写好的模块放在得到的某个路径下,就可以在程序中import时正确找到。
# sys.argv # 用来接收python解释器执行py文件后跟的参数
#例如:python cp.py argv1 argv2 arg3
#sys.argv=[‘cp.py‘,‘argv1‘,‘argv2‘,‘argv3‘]

import sys
print(sys.argv[0])
print(sys.argv[1])

# sys.argv           命令行参数List,第一个元素是程序本身路径
# sys.exit(n)        退出程序,正常退出时exit(0)
# sys.version        获取Python解释程序的版本信息
# sys.maxint         最大的Int值
# sys.path           返回模块的搜索路径,初始化时使用PYTHONPATH环境变量的值
# sys.platform       返回操作系统平台名称

sys实现文件的拷贝

‘‘‘执行文件:cp.py‘‘‘
import sys
print(sys.argv)------------[]
# src_file=input(‘请输入源文件路径:‘)
src_file=sys.argv[1]           #通过cmd拿到源文件路径
# dst_file=input(‘请输入目标文件路径:‘)
dst_file=sys.argv[2]           #通过cmd拿到目标件路径
with open(src_file,‘rb‘) as read_f,    open(dst_file,‘wb‘) as write_f:
    for line in read_f:
        write_f.write(line)

cmd运行内容:

原文地址:https://www.cnblogs.com/sui776265233/p/9210702.html

时间: 2024-08-27 14:29:29

Python之subprocess模块、sys模块的相关文章

python 常用模块 time random os模块 sys模块 json & pickle shelve模块 xml模块 configparser hashlib subprocess logging re正则

python 常用模块 time random os模块 sys模块 json & pickle shelve模块 xml模块 configparser hashlib  subprocess logging re正则 转自老男孩老师Yuan:http://www.cnblogs.com/yuanchenqi/articles/5732581.html 模块&包(* * * * *) 模块(modue)的概念: 在计算机程序的开发过程中,随着程序代码越写越多,在一个文件里代码就会越来越长,

python 基础 7.6 sys 模块

一.sys 模块 sys 模块主要功能是获取参数 [[email protected] pythonscripts]# cat 2.py #!/usr/bin/python #coding=utf-8 import os import sys if  __name__ == '__main__': print ('sys.argv[0]= {0}'.format(sys.argv[0])) print ('sys.argv[1]= {0}'.format(sys.argv[1])) print

python之os和sys模块的区别

一.os模块 os模块是Python标准库中提供的与操作系统交互的模块,提供了访问操作系统底层的接口,里面有很多操作系统的函数 1.os常用方法 import os # print(os.getcwd())#获取当前目录 print(os.chdir(r"D:\program\python\code\LYH_python\Day5"))#切换进入到哪个目录下 os.rename('users.xls','pass.xls')#os.rename(old,new)将old文件重命名为ne

Python中os和sys模块中常用的方法

os模块 os模块:该模块提供了一些方便使用操作系统相关功能的函数 os.remove() 删除文件 os.rename() 重命名文件 os.walk() 文件目录遍历器 os.chdir() 改变目录 os.mkdir/mkdirs 创建目录/多层目录 os.rmdir/removedirs 删除目录/多层目录 os.listdir() 列出指定目录的文件 os.getcwd() 取得当前工作目录 os.chmod() 改变目录权限 os.path.basename() 去掉目录的路径,返回

python中os和sys模块的详解

平时在工作中经常会用到os模块和sys模块的一些特性,下面是这些特性的一些相关解释,希望对大家有所帮助 os模块 os.getcwd() 获取当前工作目录,即当前python脚本工作的目录路径 os.chdir("dirname") 改变当前脚本工作目录:相当于shell下cd os.curdir 返回当前目录: ('.') os.pardir 获取当前目录的父目录字符串名:('..') os.makedirs('dirname1/dirname2') 可生成多层递归目录 os.rem

Python中os与sys模块的区别

os与sys模块的官方解释如下: os: This module provides a portable way of using operating system dependent functionality. 这个模块提供了一种方便的使用操作系统函数的方法. sys: This module provides access to some variables used or maintained by the interpreter and to functions that intera

Python中 os 与 sys 模块

<span style="font-size:18px;">os和sys模块 python常见模块命令 一.OS Python的标准库中的OS模块主要涉及普遍的操作系统功能.可以在Linux和Windows下运行,与平台无关. os.sep 可以取代操作系统特定的路径分割符. os.name字符串指示你正在使用的平台.比如对于Windows,它是'nt',而对于Linux/Unix用户,它是'posix'. os.getcwd()函数得到当前工作目录,即当前Python脚本

Python基础-os、sys模块

一,os模块import os ,sysos.system('ipconfig')#执行操作系统命令,获取不到返回结果 os.popen()#也可以执行操作系统命令,可以返回命令执行结果,但需要read出来print(os.popen('dir').read()) 二.sys模块 print(sys.argv) #命令行参数List,第一个元素是程序本身路径,执行文件时输入的参数例如:把输入的内容写入文件中 inpu = sys.argv #获取到运行这个pyth文件的时候传入的所有参数 if

python学习笔记-day6-【 sys模块, 导入模块的方法】

记录下 sys模块的用法,看着不难,但容易忘记的东西. 一.sys模块 1.常见的使用方法 2.如何导入其他模块的python文件 3.导入同目录下的python模块 4.导入方式二 5.把所需导入的模块放到python环境变量中任何一个目录都可以,但是这样做太麻烦 6.把导入模块的目录加入到Python的环境变量中去,即可 二.sys.argv 用法 1.sys.argv意义 2.用来判断从命令行执行的参数的合法性,示例代码 原文地址:https://www.cnblogs.com/shmil

Python 常用模块(1) -- collections模块,time模块,random模块,os模块,sys模块

主要内容: 一. 模块的简单认识 二. collections模块 三. time时间模块 四. random模块 五. os模块 六. sys模块 一. 模块的简单认识 模块: 模块就是把装有特定功能的代码进行归类的结果引入模块的方式: (1) import 模块 (2) from 位置 import 模块 二. collections模块 collections模块主要封装了一些关于集合类的相关操作. 如我们学过的iterable,iterator等等.除此以外, collections还提