file操作

# _*_coding:utf-8_*_
# 作者:王佃元
# 日期:2019/12/15

# 文件的读
# poetry = open('poetry','r',encoding='utf-8')
# poetry_rec = poetry.read(5) # read中5表示取5个字符
# print(poetry_rec)
# poetry.close()

# 文件的写
# poetry = open('poetry', 'w', encoding='utf-8') #file的w,如果无此文件则创建,如果有文件,则情况文件内容
# poetry1 = poetry
# poetry.write('hello world!!!')
# poetry.write('dery wong')
# poetry1.write('poetry1')
# # print(poetry_rec)
# poetry.close()

#文件内容的追加
# video_node = open('videonode.txt', 'r', encoding='gbk') # append追加至文件内容的末尾
# print(video_node.read())
# video_node.close()

#文件逐行读取
# video_node = open('videonode.txt'.encode('utf-8'), 'r') # append追加至文件内容的末尾
# # print(video_node.readline()) #readline逐行读取,看不到的\n也会取到
# # content_list = video_node.readlines()
# num = 0
# # for content in content_list:
# for content in video_node:
# num += 1
# if num == 6:
# content = ''.join([content.strip(),'hello world!']) #字符串拼接操作使用join,不要使用+号
# print(content.strip())
# video_node.close() #如果频繁读写,可以在程序最后关闭,如果取一次,则可以在open后直接关闭

#正常操作文件时使用方法
# video_node = open('videonode.txt'.encode('utf-8'), 'r')
# for content in video_node: # 用一行获取一行,只有一行在内存呢中。python内置的迭代器实现
# print(content.strip())

# tell、seek方法:tell是定位光标位置(获取光标位置),seek可以告诉从哪个位置读文件(调整光标位置)
# video_node = open('videonode.txt'.encode('utf-8'), 'r')
# print(video_node.tell())
# print(video_node.readline(5))
# print(video_node.tell())
# print(video_node.seek(10))
# print(video_node.readline(20))

# flush方法:将内存中的内容立刻写入磁盘中
# import sys,time
# for i in range(30):
# # sys.stdout.write('*')
# # sys.stdout.flush()
# print('*',end='',flush=True)
# time.sleep(0.2)
# truncate:截短、缩短、删节
video_node = open('videonode.txt'.encode('utf-8'), 'a')
video_node.truncate(5)
video_node.close()

#file模式
# t 文本模式 (默认)。
# x 写模式,新建一个文件,如果该文件已存在则会报错。
# b 二进制模式。
# + 打开一个文件进行更新(可读可写)。
# U 通用换行模式(不推荐)。
# r 以只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式。
# rb 以二进制格式打开一个文件用于只读。文件指针将会放在文件的开头。这是默认模式。一般用于非文本文件如图片等。
# r+ 打开一个文件用于读写。文件指针将会放在文件的开头。
# rb+ 以二进制格式打开一个文件用于读写。文件指针将会放在文件的开头。一般用于非文本文件如图片等。
# w 打开一个文件只用于写入。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。
# wb 以二进制格式打开一个文件只用于写入。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。一般用于非文本文件如图片等。
# w+ 打开一个文件用于读写。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。
# wb+ 以二进制格式打开一个文件用于读写。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。一般用于非文本文件如图片等。
# a 打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。
# ab 以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。
# a+ 打开一个文件用于读写。如果该文件已存在,文件指针将会放在文件的结尾。文件打开时会是追加模式。如果该文件不存在,创建新文件用于读写。
# ab+ 以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。如果该文件不存在,创建新文件用于读写。
poem = open('poetry', 'r', encoding='utf-8')
poem1 = open('poetry1', 'a+', encoding='utf-8')
num = 0
for line in poem:
num += 1
# print(line, end='')
if num == 6:
poem1.write((''.join([line.strip(), 'hello world\n'])))
poem1.write(line)
poem.close()
poem1.close()

你可能感兴趣的:(file操作)