一、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. oracle 触发器学习

    触发器使用教程和命名规范 目  录触发器使用教程和命名规范 11,触发器简介 12,触发器示例 23,触发器语法和功能 34,例一:行级触发器之一 45,例二:行级触发器之二 46,例三:INSTEA ...

  2. MIME Sniffing

    Abstract: The web.config file does not include the required header to mitigate MIME sniffing attacks ...

  3. Web API的Log问题

    建立了一个Web API项目,在WebApiConfig.cs中已经启用了Tracing. config.EnableSystemDiagnosticsTracing(); 同时web.config中 ...

  4. SQL Server中Rowcount与@@Rowcount的用法

    rowcount的用法: rowcount的作用就是用来限定后面的sql在返回指定的行数之后便停止处理,比如下面的示例, set rowcount 10select * from 表A 这样的查询只会 ...

  5. Linux守护进程

    什么是守护进程? 守护进程是生存期长的一种进程,它们常常在系统引导装入时启动,仅在系统关闭时在终止.它们没有控制终端并且在后台运行.Linux 系统中有很多守护进程用以执行系统的日常事物,而且服务器程 ...

  6. HTML5 的web储存: localStorage & sessionStorage

    早期的浏览器使用cookie储存,HTML5新增web储存,包括:localStorage 和 sessiongStorage; localStorage:可以永久储存: sessionStorage ...

  7. c#跨线程访问控件帮助类

    1.背景 对于winform程序来说,当我们点击按钮,需要消耗一定时长才能拿到数据后才能显示在界面上某个控件上的情况,我们通常会专门开一个线程去拿数据,这样不会造成界面处于假死状态 2.常规做法 // ...

  8. ndoutils2.2.0(ndo2db)中文乱码问题解决

    ndoutils插入中文时,产生数据库乱码请用下面两个文件: 适用版本:ndoutils-2.0.0 数据库初始化mysql.sql: 修改ndoutils-2.0.0/src目录中的db.c ndo ...

  9. c# 实现 java 的 System.currentTimeMillis() 值

    本文地址:http://www.cnblogs.com/jying/p/3875331.html 以下一句即可实现 java 中的 System.currentTimeMillis() 值 , , , ...

  10. Android_AsyncTaskDemo之QQ记步数(画圆形图片知识)

    今天学习了AsyncTask Android 的异步机制.我简单的实现我的一个小小案例--qq记步数.然后穿插一个画圆形图片的知识点. 由于所学知识有限,目前我计数,还有排名等等我就简单的利用随机数实 ...