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)
原文地址:https://www.cnblogs.com/yb38156/p/12498268.html