zoukankan      html  css  js  c++  java
  • 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 编程下 Eclipse 恢复被删除的文件
    Android 编程下背景图片适配工具类
    Android 编程下 Managing Your App's Memory
    Android 编程下代码之(QQ消息列表滑动删除)
    Android 编程下 Canvas and Drawables
    Android 编程下 AlarmManager
    Android 编程下去除 ListView 上下边界蓝色或黄色阴影
    Java 编程下字符串的 16 位、32位 MD5 加密
    C#枚举类型和int类型相互转换
    MVC和普通三层架构的区别
  • 原文地址:https://www.cnblogs.com/xin1006/p/4964729.html
Copyright © 2011-2022 走看看