1.os
导入格式:import os
os.getcwd():返回当前路径
os.listdir('/opt/') 显示指定路径下的文件或目录名
os.remove('/tmp/1.txt')删除制定普通文件,不能删除目录
os.removedirs('/tmp/1/')
os.rmdir('/tmp/1/')
以上两个指令都是删除目录的
os.path.isfile('/tmp/1')
False
os.path.isfile('/tmp/2.txt')
True
判断给出的路径是否是一个文件
os.path.isdir('/tmp/1')
True
判断给出的路径是否是一个目录
os.path.exists('/tmp/2.txt')
判断给出的路径是否真实存在
os.path.isabs('/opt/123')
判断给出的路径是否是绝对路径
os.path.split('/data/program/python27/bin')
解析路径的dirname和basename
os.name()
platform.uname()
打印操作系统平台信息
os.chmod('/tmp/2.txt',0777)
修改文件或目录的权限,记住要带第一位的权限位
os.rename('/tmp/2.txt','/tmp/3.txt')
重命名文件或目录
os.makedirs('/tmp/4/3/2/1')
创建多级目录
os.mkdir('/tmp/4')
创建单级目录
os.stat('/tmp/3.txt')
返回文件或目录的属性
2.文件的操作:
open:
打开一个文件
打开文件的权限
w:以写的方式打开,如果文件不存在就创建
a:以追加,不会把原文件内容清空
r:以只读
r+:以读写
w+:以读写
w和w+的方式都会把原文件内容清空类似与覆盖追加
rb:
wb:
rb+:
wb+:
打印输出:
read():读取open打开的文件内容,默认全部
readline():读取每一行返回的字符串
readlines():读取多行返回的列表
open(path,mode)
fp = open('/tmp/3.txt',r)
fp.read()
fp.readline()
fp.readlines()
以上只能读取文件内容不能修改
关闭文件对象:fp.close()
fp = open('/tmp/3.txt',w),open('/tmp/3.txt',w+)
fp.write()
fp.writelines()
注意:(W W+)会覆盖掉原文件内容
关闭之后内容才会保存至硬盘上的文件
fp.close()
fp = open('/tmp/3.txt',a)
以追加方式打开文件
原文件内容不会被覆盖
同样也是需要关闭文件对象
fp.close()
with open('3.txt',a) as 变量:
变量.write()
变量.read()
他会自动的执行变量.close()
fp = open('/tmp/3.txt',r)
fp.tell():打印当前光标所在文件的字符位数上
fp.seek(1):把光标移动倒文件当前的位置
fp.seek(2):把光标移动倒文件末尾位置
拷贝文件或目录
import shutil
shutil.copyfile(src,dst) 只能拷贝文件
shutil.copytree(src,dst)拷贝目录为一个新的名称的目录
3.import sys
sys.argv:打印所有参数
sys.argv[0]:打印文件名
sys.argv[1]:打印第一个参数
sys.argv[2]:打印第二参数
len(sys.argv):打印参数个数
4.re
re 是python查找的工具
复习:python中的正则
.
[ ]
[^]
*
?
+
()
^
$
import re
re.match:从字符串开头进行匹配
re.search:从字符串第一个开始匹配一直到最后一个,但是只匹配第一次出现的
如果要查看match和search匹配到的内容使用group或者groups
re.findall:全文搜索,可以匹配多个出现内容
re.sub:搜索替换
re.split:指定分割符
re.S:会匹配倒换行符
re.I:忽略大小写
re.M:匹配多行
5.函数:
shell函数定义:
def function_name(){.......}
python函数定义:
def function_name():
代码快
定义:
(1)def fp(x):
print x ------------->也可以不定义用占位符pass
引用:
fp(1)|fp(1.2.3....)
(2)def fp(x,y):
print x,y
引用:fp(2,3)
fp(x=2,y=3)
fp(y=3,x=2)
(3) def fp(*x):
print x
引用: fp(1)-------------------------------------》返回的使用一个元组
fp(1,2) --------------------------------》返回的使用一个元组
fp(1,2.......) -----------------------------------》返回的使用一个元组
(4) def fp(**x):
print x
引用: fp(x=1,y=2,z=3......)------------------------------> 返回的是一个字典
(5) def f5(x,*args,**kwargs):
print x
print args
print kwargs
引用:f5(1,2,3,4,z=1,y=2)
------------》返回如下:
x = 1
(2,3,4)
{'z':1,'y':2}
5.1装饰器:
对原函数进行扩展使用,而不需要修改原函数内容的 装饰器其实就是一个函数
装饰器的定义:
def deco(func):
def warpper():
print 'ok'
func()
print 'ok'
return warpper
引用:
@deco
def show():
print 'i am from mars'
show()
ok
i am from mars
ok
5.3匿名函数:lambda
格式: lambda var : expression
例:
lamdba a : a*20
f1 = lamdba a : a*20
f1(10)
200
用途:用于短小简单功能的函数
5.4递归:
def fact(n):
if n <= 1:
return 1
else:
return n * fact(n-1)
#return n*(n-1)