Python的标准库sys、copy、os相关用法

来源:互联网 发布:比淘宝便宜又好的网站 编辑:程序博客网 时间:2024/05/17 22:57

1.sys库相关函数

1.1 sys.argv

sys.argv是用来专门向python解释器传递参数,所以称为命令行参数

举例说明:

import sysprint("the file name:",sys.argv[0])print("the number of argument",len(sys.argv))print("the argument is :",str(sys.argv))
这里输出结果为:

('the file name:', 'F:/Python work/1.py')('the number of argument', 1)('the argument is :', "['F:/Python work/1.py']")
这里我在ide中直接运行的该文件,因此文件的地址加上文件名或作为命令行参数。

在传递的过程中我们显示了命令行参数的第一项,总的长度,以及字符串的显示

1.2  sys.exit

这个函数的目的是退出当前程序

import sysfor i in range (10):    if i==5:        sys.exit(0)    else:        print(i)
结果是显示0,1,2,3,4

一般我们退出都会使用return函数,用sys.exit退出它可以发起systemexit异常

1.3 sys.path

sys.path 可以查找模块所在目录,以列表的形式显示出来。如果用append的方法,能够向这个列表增加新的模块目录。

import syssys.path
如果你想使用的模块和你的脚步不在同一个文件夹,用下面这种方法

import sys  sys.path.append(’引用模块的地址')  

2. os库

os库提供了访问操作系统的服务的功能,下面或讲解一下几种典型的功能

2.1 操作文件:重命名、删除文件

在对文件进行操作的时候,open这个内建函数可以打开文件,但是如果对文件进行删除、重命名就要使用OS模块的方法。

import osos.rename("1.py","2.py")
我在windows环境下,进行操作最后可以更改文件名字

2.2 操作目录

2.2.1 os.listdir

os.listdir是显示目录中的内容

在这里给出一个实例

实例:

这个实例是我前几天遇到的一个小麻烦,我要从一个文件夹A里进行搜索,把所有文件遍历后将文件名字保存到一个列表中,然后通过这个列表搜索B文件夹里的同名文件,并将这些文件提取出来

# -*- coding: utf-8 -*-import osimport sysimport shutilpath='F:/A/JPEGImages'.decode('utf-8')path1='F:/B/Annotations'.decode('utf-8')path2='F:/C/annotation'.decode('utf-8')list = os.listdir(path)print(len(list))print(list)b=[]for file in list:    a=file.split('.')[0]    b.append(a)print(b)for i in b:    ii=(i+'.xml')    shutil.copy(os.path.join(path1,ii), os.path.join(path2, ii))

这里就是把A的文件名提取出来进行分割后保存到列表,然后在B中按照此列表来搜索,搜索完后把文件保存至C,里面用到了shutil语句,这是用来操作文件复制的。