• Python学习笔记005_文件_OS_模块_pickle


    >>>
    >>> # 文件 open()方法是打开文件,它有很多参数,第一个文件名是必须的(带路径)
    >>>
    >>> f = open('E:/BaiduYunDownload/awei.txt')
    >>> f
    <_io.TextIOWrapper name='E:/BaiduYunDownload/awei.txt' mode='r' encoding='cp936'>
    >>> # 直接读取文件的内容
    >>> f.read()
    '------------数据库--------------------------------------------------- dev jdbc.url=jdbc\:oracle\:thin\:@30.3.4.78\:1521\:vtmdb jdbc.username=receipt jdbc.password=dxyxjr1234 uat jdbc.url=jdbc\:oracle\:thin\:@30.3.4.95\:1521\:vtmdb jdbc.username=receipt jdbc.password=Zxjr1234 数据库一般用户的权限 connect resource 我本地的数据库用户名 和密码也是 receipt dxyxjr1234'
    >>> # 获取当前文件指针的位置
    >>> f.tell()
    382
    >>> # 关闭文件
    >>> f.close()
    >>>
    >>> # 重新打开文件
    >>> f = open('E:/BaiduYunDownload/awei.txt')
    >>> # 读取指定个数的字符
    >>> f.read(10)
    '----------'
    >>> f.tell()
    10
    >>>
    >>> # 修改文件指针的位置 seek(offset,from):
    >>> # 从from(0表示文件起始位置,1表示文件当前位置,2表示文件末尾)偏移offse个字节
    >>> f.seek(0,0)
    0

    >>> # 读取一行
    >>> f.readline()
    '------------数据库--------------------------------------------------- '
    >>>
    >>> # 可以使用list将文件内容包裹成列表
    >>> f.seek(0,0)
    0
    >>> list(f)
    ['------------数据库--------------------------------------------------- ', 'dev ', 'jdbc.url=jdbc\:oracle\:thin\:@30.3.4.78\:1521\:vtmdb ', ' ', 'jdbc.username=receipt ', 'jdbc.password=dxyxjr1234 ', ' ', 'uat ', 'jdbc.url=jdbc\:oracle\:thin\:@30.3.4.95\:1521\:vtmdb ', ' ', 'jdbc.username=receipt ', 'jdbc.password=Zxjr1234 ', '数据库一般用户的权限 connect resource ', ' ', '我本地的数据库用户名 和密码也是 receipt dxyxjr1234']
    >>>
    >>> f.tell()
    382
    >>> f.seek(0,0)
    0
    >>> # 我们可以直接迭代文件对象
    >>>
    >>> for each_line in f :
                print(each_line)


    ------------数据库---------------------------------------------------

    dev

    jdbc.url=jdbc:oracle:thin:@30.3.4.78:1521:vtmdb

    jdbc.username=receipt

    jdbc.password=dxyxjr1234

    uat

    jdbc.url=jdbc:oracle:thin:@30.3.4.95:1521:vtmdb

    jdbc.username=receipt

    jdbc.password=Zxjr1234

    数据库一般用户的权限 connect resource

    我本地的数据库用户名 和密码也是 receipt dxyxjr1234
    >>>
    >>> # 文件的写入,必须是使用w或者a打开才能行
    >>> f.close()
    >>> f = open('E:/BaiduYunDownload/awei.txt','a')
    >>> f.write('I love you')
    10
    >>> f.close()

    # 模块(可用代码段的打包),它是包含所定义的变量、函数的文件,扩展名是py 它可以被其它程序所引用

    # 比如 os模块, time模块

    #使用模块中的函数时,应该先引用 import

    >>>
    >>> #Python提供了一个标准模块pickle(它的英文意思是泡菜),利用它可以将字典、集合等复杂的数据类型转化为二进制文件
    >>> # 对象转换为二进制流 是 存放 picking
    >>> # 二进制流转换为对象 是 读取 unpickling
    >>>
    >>> import pickle
    >>> my_list = [123,3.14,False,'杨伟',['awei hh']]
    >>> #打开文件 ,文件后缀名随便起,这里我们统一自定义为 pkl

    >>> # 这里一定要使用二进制方式写文件方式打开 
    >>> pickle_file = open('E:/yangw.pkl','wb')

    >>> #  用dump方法将对象保存到二进制文件中,文件用完记得要关闭
    >>> pickle.dump(my_list,pickle_file)
    >>> pickle_file.close()
    >>>
    >>> # 读取二进制文件 ,将二进制流转换为对象使用load方法
    >>> pickle_file = open('E:/yangw.pkl','rb')
    >>> my_list2 = pickle.load(pickle_file)
    >>> pickle_file.close()
    >>> my_list2
    [123, 3.14, False, '杨伟', ['awei hh']]
    >>>
    >>> # 这个在实际的编程中,我们会遇到复杂的、数据量特别多的数据,这个时候可以使用pickle 将数据保存dump到二进制文件中,使用时使用load加载
    >>>
    >>>

    ----------- 赠人玫瑰,手有余香     如果本文对您有所帮助,动动手指扫一扫哟   么么哒 -----------


    未经作者 https://www.cnblogs.com/xin1006/ 梦相随1006 同意,不得擅自转载本文,否则后果自负
  • 相关阅读:
    Android Theme主题
    Android AbsoluteLayout绝对布局
    Android FrameLayout单帧布局
    Android TableLayout 表格布局
    Android LinearLayout线性布局
    Android RelativeLayout相对布局
    Unity中几种简单的相机跟随
    Android适配API23之后权限的动态申请
    natural gradient笔记
    优化整理
  • 原文地址:https://www.cnblogs.com/xin1006/p/4964729.html
Copyright © 2020-2023  润新知