python模块(os open sys re 函数)

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)

转载于:https://my.oschina.net/hdlp520/blog/779402

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值