一、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
import os
import time def getListDir(basepath):
listDir = os.listdir(basepath)
for listIndex in listDir:
listIndexPath=basepath+"//"+listIndex
if os.path.isdir(listIndexPath):
getListDir(listIndexPath)#递归遍历
else:
print (listIndexPath) def useOsWalk(basepath):
for folder,subfolder,files in os.walk(basepath):#使用os.walk函数,该函数将迭代的返回起始目录,起始目录下的子文件夹和文件,其格式为一个元祖。
for file in files:
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

(python) 标准模块sys和os的使用的更多相关文章

  1. python中模块sys与os的一些常用方法

    sys模块提供了访问或操作与python解释器相关方法与对象. 我们就列举出常用到的知识,以后,随着学习,不断补充. 几个常用到的动态对象: sys.argv,这是一个列表,它包含了所有传递给脚本的命 ...

  2. 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 ...

  3. Python常用模块sys,os,time,random功能与用法,新手备学。

    这篇文章主要介绍了Python常用模块sys,os,time,random功能与用法,结合实例形式分析了Python模块sys,os,time,random功能.原理.相关模块函数.使用技巧与操作注意 ...

  4. Python标准模块--logging

    1 logging模块简介 logging模块是Python内置的标准模块,主要用于输出运行日志,可以设置输出日志的等级.日志保存路径.日志文件回滚等:相比print,具备如下优点: 可以通过设置不同 ...

  5. Python标准模块--logging(转载)

    转载地址:http://www.cnblogs.com/zhbzz2007/p/5943685.html#undefined Python标准模块--logging 1 logging模块简介 log ...

  6. 模块sys,os

    Python的强大之处在于他有非常丰富和强大的标准库和第三方库,几乎你想实现的任何功能都有相应的Python库支持,以后的课程中会深入讲解常用到的各种库,现在,我们先来象征性的学2个简单的. 在Pyt ...

  7. Thread类的其他方法,同步锁,死锁与递归锁,信号量,事件,条件,定时器,队列,Python标准模块--concurrent.futures

    参考博客: https://www.cnblogs.com/xiao987334176/p/9046028.html 线程简述 什么是线程?线程是cpu调度的最小单位进程是资源分配的最小单位 进程和线 ...

  8. python 全栈开发,Day42(Thread类的其他方法,同步锁,死锁与递归锁,信号量,事件,条件,定时器,队列,Python标准模块--concurrent.futures)

    昨日内容回顾 线程什么是线程?线程是cpu调度的最小单位进程是资源分配的最小单位 进程和线程是什么关系? 线程是在进程中的 一个执行单位 多进程 本质上开启的这个进程里就有一个线程 多线程 单纯的在当 ...

  9. python全栈开发,Day42(Thread类的其他方法,同步锁,死锁与递归锁,信号量,事件,条件,定时器,队列,Python标准模块--concurrent.futures)

    昨日内容回顾 线程 什么是线程? 线程是cpu调度的最小单位 进程是资源分配的最小单位 进程和线程是什么关系? 线程是在进程中的一个执行单位 多进程 本质上开启的这个进程里就有一个线程 多线程 单纯的 ...

随机推荐

  1. (heartbeat与KeepAlived)

    总拓扑图 两种实现方式: 实验一. LVS+heartbeat+ldirectord实现集群负载: 1.在主Director Server上和备用Director Server上分别安装heartbe ...

  2. CSS深入研究:display的恐怖故事解密(2) - table-cell

    上集<CSS深入研究:display的恐怖故事解密(1) - display-inline>已经把display的属性列表拉出来溜了,发现在这个属性恐怖面貌其实都是脆弱的伪装.除了部分常用 ...

  3. 摘录ECMAScript官方文档中重要的两段话

    Every object created by a constructor has an implicit reference (called the object’s prototype) to t ...

  4. add number

    // io.cpp #include <iostream> int readNumber() { std::cout << "Enter a number: &quo ...

  5. 初学c# -- 学习笔记(五) winfrom自定义滚动条

    找了些例子,要么庞大.要么搞个安装组件什么的,我要求能用就行了.实在找例子修改麻烦,就做了一个.其实实现挺简单,就是panel或图片什么的跟着鼠标走就行了. 这里panel自己可以加背景图或直接搞个图 ...

  6. funny_python 01 import antigravity

    在Python里面import antigravity 会发现另一个小彩蛋 Tada~ 其实就是打开了xkcd的一个python主题漫画 鼠标停留在图片上,还会看到标题: "I wrote ...

  7. UNICODE

    // "; var i,j; var prevPage = -1; var nextPage = -1; beginId = setList[index].begin / 16 * 16 + ...

  8. 在iis中设置文件下载而不是在浏览器上打开

    点击网页链接的*.txt,*.jpg,*.xml等文件时会在浏览器上直接显示,并没有像*.doc那样弹出下载提示框. 解决方法: 在部署的网站上,选择存放文件的目录,选择 HTTP响应标头 ,添加一个 ...

  9. 【Android端 APP 启动时长获取】启动时长获取方案及具体实施

    一.什么是启动时长? 1.启动时长一般包括三种场景,分别是:新装包的首次启动时长,冷启动时长.热启动时长 冷启动 和 热启动 : (1)冷启动:当启动应用时,后台没有该程序的进程,此时启动的话系统会分 ...

  10. python 面向对象-笔记

    1.如何创建类 class 类名: pass class bar: pass 2.创建方法 构造方法,__init__(self,arg) obj = 类('a1') 普通方法 obj = 类(‘xx ...