zoukankan      html  css  js  c++  java
  • python学习第七天——输入输出、file

    一般的输入输出函数:input()和print()                                   

    something = input("Enter text: ")
    print("you hava entered:",something)

    文件I/O                                                                                

    注意:除了文本字符串,二进制也可以读和写

    一个常用的实例:

    # 打开文件进行 'w'riting 写操作
    f = open('poem.txt', 'w')
    # 将文本写入到文件
    f.write(poem)
    # 关闭文件
    f.close()
    
    # 如果没有指定文件打开方式
    # 默认使用 'r'ead 读模式
    f = open('poem.txt')
    while True:
        line = f.readline()
        # 零行意味着 EOF 文件结尾
        if len(line) == 0:
            break
        # `line` 中已经自带换行了
        # 因为它是从文件中读取出来的
        print(line, end='')
    # 关闭文件
    f.close()

    open()函数              

    python内置的函数,打开一个文件,创建一个file对象的主要参数

    file = open(file, mode='r', buffering=-1, encoding=None, errors=None, newline=None)
    • file:必须,文件路径的字符串值
    • mode:文件打开模式:只读,写入,追加等。该参数是非强制的,默认为只读(r)
    • buffering:访问文件时的寄存策略,0表示不寄存;1表示会寄存行;大于1的值,值表示寄存区的缓冲大小;负值表示寄存区缓冲大小为系统默认
    • 其他重要的encoding一般使用utf8;errors报错级别;newline区分换行符

    mode的比较直观的图:具体的模式需要在应用中实践

    file对象属性                

    • closed  :是否已被关闭,是返回True,否则返回False
    • mode:返回被打开文件的访问模式
    • name:返回文件名

    file对象的主要方法     

    file.close():关闭文件,关闭文件后不可进行读写

    file.flush():刷新文件内部缓冲,直接把内部缓冲区的数据立刻写入文件, 而不是被动的等待输出缓冲区写入。

    file.next():返回文件下一行

    file.read([size]):从文件读取指定的字节数,如果未给定或为负则读取所有

    file.readline([size]):读取整行,包括 " " 字符

    file.readlines([sizeint]):读取所有行并返回列表,若给定sizeint>0,则是设置一次读多少字节,这是为了减轻读取压力

    file.write(str):将字符串写入文件,返回写入的字符的长度

    file.writelines(sequence):向文件写入一个序列字符串列表,如果需要换行则要自己加入每行的换行符

    os模块                                                                              

    这是一个处理文件和目录的内置模块,包含一些

    os.chmod(),os.getcwd(),os.mkdir(),os.remove()等方法........我感受到了linux文件操作命令的气息,有兴趣的可以自行学习,内容太多,不一一例举

    Pickle                                                                               

    python中的一个标准模块,可以将任何简单的 Python 对象(二进制)存储在文件中,然后可再次取回,这个过程也被称为持久化存储对象

    几个过程:

    1、open:在前面讲的open()函数中,mode参数只列出了和文本字符串相关的模式,还有一种是二进制模式

      open(file,mode)

      b:二进制模式

      wb:二进制格式打开一个文件用于只写。文件存在则打开不存在则创建新文件,从开头开始编辑,即原有内容会被删除。一般用于非文本文件如图片等

      rb:二进制格式打开一个文件用于只读。文件指针将会放在文件的开头。这是默认模式。一般用于非文本文件如图片等

    2、pickling:先以二进制写入模式  open 文件,然后调用dump 函数将对象保存到文件  file 中去

    3、unpickling :之后,使用load 函数来检索对象并返回

    示例:

    import pickle
    
    # 这里我们将存储对象的文件的名称
    shoplistfile = 'shoplist.data'
    # 要买的东西的清单
    shoplist = ['apple', 'mango', 'carrot']
    
    # 写入文件
    f = open(shoplistfile, 'wb')
    # 将对象存储到文件
    pickle.dump(shoplist, f)
    f.close()
    
    # 销毁 shoplist 变量
    del shoplist
    
    # 从存储中读回
    f = open(shoplistfile, 'rb')
    # 从文件加载对象
    storedlist = pickle.load(f)
    print(storedlist)
  • 相关阅读:
    RabbitMQ 均衡调度(公平分发机制)
    RabbitMQ 循环调度
    模型绑定与验证笔记
    Controller总结
    JQuery事件绑定,bind与on区别
    View的呈现(一)ActionResult
    C#操作sql时注意点
    mvc4中的过滤器
    Bundle、Intent、SharedPreferences
    SharedPreferences的基本用法
  • 原文地址:https://www.cnblogs.com/yb38156/p/12498268.html
Copyright © 2011-2022 走看看