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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了(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



以上是关于(python) 标准模块sys和os的使用的主要内容,如果未能解决你的问题,请参考以下文章

Python基础--人们一些最爱的标准库(sys os fileinput)

Python基础--人们一些最爱的标准库(sys os fileinput)

python之os和sys模块的区别

python中常见模块命令(os/sys/platform)

python 常用模块之random,os,sys 模块

python常用模块(模块和包的解释,time模块,sys模块,random模块,os模块,json和pickle序列化模块)