玖叶教程网

前端编程开发入门

python之文件读写操作(python3文件读写)

# -*- coding: UTF-8 -*-
import os

#设置文件当前位置 file.seek(offset[, whence])
#t: 文本模式 (默认)。
#x: 写模式,新建一个文件,如果该文件已存在则会报错。
#b: 二进制模式。
#+: 打开一个文件进行更新(可读可写)。
#U: 通用换行模式(不推荐)。
#r: 以只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式。
#rb: 以二进制格式打开一个文件用于只读。文件指针将会放在文件的开头。这是默认模式。一般用于非文本文件如图片等。
#r+: 打开一个文件用于读写。文件指针将会放在文件的开头。
#rb+: 以二进制格式打开一个文件用于读写。文件指针将会放在文件的开头。一般用于非文本文件如图片等。
#w: 打开一个文件只用于写入。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。
#wb: 以二进制格式打开一个文件只用于写入。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。一般用于非文本文件如图片等。
#w+: 打开一个文件用于读写。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。
#wb+: 以二进制格式打开一个文件用于读写。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。一般用于非文本文件如图片等。
#a: 打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。
#ab: 以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。
#a+: 打开一个文件用于读写。如果该文件已存在,文件指针将会放在文件的结尾。文件打开时会是追加模式。如果该文件不存在,创建新文件用于读写。
#ab+: 以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。如果该文件不存在,创建新文件用于读写。


# readlines比较消耗内存,将文件全部读写到内存中
#readlines() 方法用于读取所有行(直到结束符 EOF)并返回列表,该列表可以由 Python 的 for... in ... 结构进行处理。
#如果碰到结束符 EOF 则返回空字符串
def readlines(file, mode):
    f = open(file, mode)
    result = list()
    #print f.readlines()
    for line in f.readlines():
        print line.strip("\n")
    f.close()
#readlines("D:\\test.txt", "r+")

##read方法
#从文件读取指定的字节数,如果未给定或为负则读取所有。
#size -- 从文件中读取的字节数,默认为 -1,表示读取整个文件。
#open(file, mode='r', buffering=-1, encoding=None, errors=None, newline=None, closefd=True, opener=None)
def readFile(file, mode):
    f = open(file, mode)
    lines = f.read()
    print("%s" % lines)
    f.close()

#readFile("D:\\test.txt", "r+")


#readline()不消耗内存,适用于大文件,每次读取一行。
#eadline() 方法用于从文件读取整行,包括 "\n" 字符。如果指定了一个非负数的参数,则返回指定大小的字节数,包括 "\n" 字符。
# 若文本中含有中文,需要转为UTF-8编码
def readline(file, mode):
    with open(file, mode) as f:
        line = f.readline().strip("\n")
        # ##读取第一行
        # line = f.readline(5).strip("\n")
        # print line
        while line:
            print("%s" % line)
            #返回文件当前位置。
            print f.tell()
            line = f.readline().strip("\n")
#readline("D:\\test.txt", "r+")

#writelines() 方法用于向文件中写入一序列的字符串。
#这一序列字符串可以是由迭代对象产生的,如一个字符串列表。
#换行需要制定换行符 \n。
#可以配合readlines()
def writelines(file, mode, list):
    with open(file, mode) as f:
        f.writelines(list)

# seq = ["\nhello world 1 \n", "hell world 2"]
# writelines("D:\\test.txt", "a+", seq)

#write() 方法用于向文件中写入指定字符串。
def writeFile(f2, str1):
    f = open(f2, "a+")
    f.write(str1)
    f.write("\n")
    f.close()

writeFile("D:\\test.txt", "我是齐天大圣")

def writeFile(file):
    f = open(file, "w")
    writelines(file, "w", f.readlines())
    f.close()


def readFile(f1):
    f = open(f1, "r")
    line = f.readline()
    while line:
        writeFile("D:\\python\\project\\file\\result1.txt", line.strip("\n"))
        line = f.readline()
    f.close()


#readFile("D:\\python\\project\\file\\result.txt")

# f1 = open("1.txt", "w")
# f1.write("Hello Wrold!\nYou are so beautiful.\n")
# # 关闭打开的文件
# f1.close()

# 打开一个文件
# f1 = open("1.txt", "r+")
# str = f1.read(10)
# print "读取的字符串是 : ", str
# # 关闭打开的文件
# f1.close()

发表评论:

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言