Python学习第十一天------系统编程

1、系统编程 

    1、系统工具

          概念:操作系统里面,帮我们执行的一些常见任务,在不同的操作系统中名字是不一样的。

        常见的系统工具有:命令行工具、Shell脚本 、系统管理。python给我们提供了很多系统模块。我们主要学习sys、和os两个模块。

         sys:提供一组功能映射Python运行时的操作系统。
         os:提供跨平台可一直的操作系统编程接口。os.psh。:提供文件及目录工具的可移植编程接口。

 

sys模块应用

#coding=gbk
import  sys
import traceback
from pprint import pprint
# print(dir(sys))
# pprint(dir(sys))
#-----------平台与版本的功能------------------
print(sys.platform) #打印该操作系统是在哪里平台上
print(sys.version)  #打印python版本
print(sys.path)  #所使用的python当前类的路径
print(sys.modules) #当前已经载入过的模块


#------------观察异常的一些细节信息----------------
#sys.exc_info()  获取最后一次异常细节
#traceback.print_tb(sys.exc_info()[2]) :打印异常中的三个元素的其中的第二个的准确的信息
try:
    raise KeyError
except:
    print(sys.exc_info()) #output :(<class 'KeyError'>, KeyError(), <traceback object at 0x000002C738DA5308>)
#上面是一个简单的异常捕获!但是后面的traceback没有显示具体的信息。修改代码Wie
# try:
#     raise KeyError
# except:
#     print(sys.exc_info())
#     traceback.print_tb(sys.exc_info()[2]) #打印出来具体的错误发生在哪![2]代表整个错误中的第二个错误。


#-------------命令行参数,sys.argv-------------------
#这个函数的作用就是捕获我们的命令行参数。在命令行运行的时候输入的参数,代码里面需要的时候,就需要用户这个函数取值

#-----------------标准流---------------------------
#sys.stdin : 标准的输入流
#sys.stdout: 标注的输出流
#sys.stderr:标准的错误流
#代码在控制台上的数据跟这几个是有关系的!
sys.stdout.write('hello')
print('hello')  #两个效果相等

x = input('请输入信息:')  #输入的信息会赋值给X
x = print('请输入信息:');sys.stdin.readline()[:]
#上面的两个效果是一样的。

          我们的命令行参数sys.argv 这个在实际汇总应用的会很多。

os模块应用

 1、1:管理工具

#coding=gbk
import os
print(os.environ) #打印该模块下面的所有的方法。

#-----------------
print(os.getcwd()) #获取当前工作的目录
print(os.listdir())#展示某个目录下面的信息列表
os.chdir('E:\pythonstudy\pycharm\\test\Day16')#切换到该目录下面
print(os.listdir()) #打印出来Day16这个目录下面的文件。
#listdir不指定的话就是当前目录 ,指定是可以打印指定的目录的
print(os.getpid()) # 打印当前进程的ID
print(os.getppid()) #获取当前进程的父进程的ID

 1、2:运行shell命令

     用到了os下面的 os.system('命令行') :Python脚本中运行shell命令。os.popen() :运行命令并且连接输入输出流:

说白了就是在python中运行其他的平台的命令

#coding=gbk
import os
print(os.environ) #打印该模块下面的所有的方法。

#-----------------管理工具
print(os.getcwd()) #获取当前工作的目录
print(os.listdir())#展示某个目录下面的信息列表
os.chdir('E:\pythonstudy\pycharm\\test\Day16')#切换到该目录下面
print(os.listdir()) #打印出来Day16这个目录下面的文件。
#listdir不指定的话就是当前目录 ,指定是可以打印指定的目录的
print(os.getpid()) # 打印当前进程的ID
print(os.getppid()) #获取当前进程的父进程的ID
#------------------运行shell命令
#.system() :Python脚本中运行shell命令
#.popen() :运行命令并且连接输入输出流
os.system('dir /d')
os.system('dir')
#popen与system的区别是:前者返回对象。后者直接返回结果。
#popen再加上.read()方法或者是readline()方法就能得到一个结果!

2、os模块中path工具的使用详解

      2、1:文件的处理 :

             .mkdir('目录名')  创建目录
             . rmdir('目录名') 删除目录
             .rename('旧名','新名')  改名
             .removm('文件名') 删除文件

   那么我们在使用命令的时候,不同的操作平台上面的命令编译是不一样的比如斜线有的就不一样,那么当我们在使用的时候胡不正确的时候会报错,那么我们怎么预防这种事情呢!在python中给我们准备了这样的操作,称为课移植工具

     2、2:可移植工具 :

            .sep:  分隔符
            .pathsep:路径分隔符
            .curdir:相当于当前目录符号
            .pardir:相当于上级目录

    有的时候我们经常会在操作系统中对应某一些路径进行操作,比如判断当前目录是不是存在,或者目录在不在,目录在不在,这些事非常广泛使用的,所以在os模块下给我们定义了一个模块!就是专门对这种路径进行操作的:.path模块

      2、3:os.path的子模块。

              os.path.isdir(‘目录’) : 检查这个目录是否为一个目录呢?
              os.path.isfile(‘目录’) : 检查这个目录是否为一个文件呢?
              os.path.isexists(‘目录’) : 检查这个目录是否存在呢?
----------------------------------------以上比较简单---------下面是对路径进行操作
              os.path.split('目录') : 切割当前目录,把文件个目录切开  
              os.path.splitext(path) :拆分路径扩展名。
              os.path.join('path1' , 'path2'): 连接路径
              os.path.dirname(path) :获取当前的目录的名  ,不获取文件名称
              os.path.basename(path) :获取当前目录的最底层名称 ,就是最后一个文件名
  有时候我们获取的路径并非是规整划的,有的斜线不一致 这时候我们可以使用os.path.normpath(path) :这个方法来实现路径的统一化。符合当前操作系统的规则化。
                os.path.abspath('.') :将当前目录的路径修改成相对化的路径。 
            
              

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值