python sys os_(python) 标准模块sys和os的使用

一、sys模块

包含了系统的相关的功能。我们来学习sys.argv,它包含命令行参数。

例子:定义了一个add函数,用来实现两个整数的相加。

#! coding=utf-8

# usersys.py

import sys

def add(a,b):

print a+b

print sys.argv

if len(sys.argv)<2:

print "argv is lower 2"

else:

if sys.argv[1].startswith("-") and (len(sys.argv)==2):

option=sys.argv[1][2:]

if option=="help":

print """this is my add,two parama a and b"""

elif option=="version":

print "v1.0"

else:

print "no this option"

elif len(sys.argv)==3:

try:

a=int(sys.argv[1])

b=int(sys.argv[2])

add(a,b)

except Exception ,e:

print e

else:

print "parama is biger 3"

在cmd命令行下,运行sysuser.py。有以下几种情况:

1、输入命令:python sysuser.py

命令行参数只有1个,此时sys.argv=["sysuser.py"]. 打印“argv is lower 2”

2、输入命令:python sysuser.py --help (或输入命令:python sysuser.py --version)

命令行参数有2个,此时sys.argv=["sysuser.py","--help"]. 打印"""this is my add,two parama a and b"""

3、输入命令:python sysuser.py 1 2

命令行参数有3个,此时sys.argv=["sysuser.py","1","2"]. 这时候做加法运算

4、其他输入情况,将进行相应处理。

我们发现sys.argv是一个列表,并且把用户输入的每个参数都以字符串的形式存储为每一个元素。所以在处理数据的时候,需要进行数据类型转换

二、os模块

这个模块包含普遍的操作系统功能。

1、os.remove()删除一个文件

import os

path="E:\\study\\test.txt"

os.remove(path)

2、os.name获取当前使用的平台,如果是windows,则返回:“nt”,如果是linux/unix,则返回:“posix”

import os

print os.name

3、os.getcwd()获取当前工作的目录路径

import os

print os.getcwd()

4、os.getenv()获取环境变量

import os

print os.getenv("JAVA_HOME")#获取环境变量JAVA_HOME

结果:D:\Program Files\Java\jdk1.7.0_10

5、os.path.isfile() 和os.path.isdir()分别用来检测所给路径是文件还是目录

import os

print os.path.isdir("E:\\study\\")

结果:True

6、os.path.exists() 检测所给路径是否存在

import os

print os.path.exists("E:\\study\\")

7、os.path.split()用来将一个目录分割成路径和文件名

import os

print os.path.split("E:\\study\\1.txt")

结果:('E:\\study', '1.txt')

8、os.sep 获取操作系统的文件目录分割符,如Windows为\

9 、os.linesep获取行终止符

import os

print "ahhaha"+os.linesep+"jsjssj"

print "ahhaha"+"jsjssj"

结果:

ahhaha

jsjssj

ahhahajsjssj

例子:两种遍历某目录下的文件

#! coding=utf-8

importos

importtime

defgetListDir(basepath):

listDir =os.listdir(basepath)

for listIndex inlistDir:

listIndexPath=basepath+"//"+listIndex

ifos.path.isdir(listIndexPath):

getListDir(listIndexPath)#递归遍历

else:

print(listIndexPath)

defuseOsWalk(basepath):

for folder,subfolder,files in os.walk(basepath):#使用os.walk函数,该函数将迭代的返回起始目录,起始目录下的子文件夹和文件,其格式为一个元祖。

for file infiles:

print (str(folder.replace("\\","//"))+"//"+file)

if __name__=="__main__":

basepath = "E://test"

print("遍历文件第1种方式")

getListDir(basepath)

print("遍历文件第2种方式")

useOsWalk(basepath)

输出结果:

遍历文件第1种方式

E://test//0.0011305996553642712.txt

E://test//1.0803627858234796e-06.txt

E://test//study//0.002160185390254047.txt

E://test//study//0.003150878064854178.txt

E://test//study//0.004092954414092252.txt

E://test//study//yy//0.005170076111558261.txt

遍历文件第2种方式

E://test//0.0011305996553642712.txt

E://test//1.0803627858234796e-06.txt

E://test//study//0.002160185390254047.txt

E://test//study//0.003150878064854178.txt

E://test//study//0.004092954414092252.txt

E://test//study//yy//0.005170076111558261.txt

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值