Python学习笔记05-文件读写

2017-11-25  本文已影响0人  如梦似幻之旅
  1. 打开文件
  2. 读/写数据
  3. 关闭文件

打开文件(open)

在python,使用open函数,可以打开一个已经存在的文件,或者创建一个新文件

f = open('filename', 'r') # 读模式
f = open('filename', 'w') # 写模式
f = open('filename', 'a') # 追加模式

模式说明

访问模式 说明
r 以只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式。
w 打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。
a 打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。
rb 以二进制格式打开一个文件用于只读。文件指针将会放在文件的开头。这是默认模式。
wb 以二进制格式打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。
ab 以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。
r+ 打开一个文件用于读写。文件指针将会放在文件的开头。
w+ 打开一个文件用于读写。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。
a+ 打开一个文件用于读写。如果该文件已存在,文件指针将会放在文件的结尾。文件打开时会是追加模式。如果该文件不存在,创建新文件用于读写。
rb+ 以二进制格式打开一个文件用于读写。文件指针将会放在文件的开头。
wb+ 以二进制格式打开一个文件用于读写。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。
ab+ 以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。如果该文件不存在,创建新文件用于读写。

读取文件内容(read)

使用read(num)可以从文件中读取数据,num表示要从文件中读取的数据的长度(单位是字节),如果没有传入num,那么就表示读取文件中所有的数据。

  1. 直接读取文件
file1 = open("test.txt") 
file2 = open("output.txt","w") 

while True: 
    line = file1.readline() 
    #这里可以进行逻辑处理 
    file2.write('"'+line[:s]+'"'+",") 
    if not line: 
        break 
#记住文件处理完,关闭是个好习惯 
file1.close() 
file2.close() 

读文件有3种方法:

2.使用for循环读取文件

file2 = open("output.txt","w") 
for line in open("test.txt"): 
      #这里可以进行逻辑处理 
    file2.write('"'+line[:s]+'"'+",") 
  1. 使用文件上下文管理器
#打开文件
#用with..open自带关闭文本的功能
with open('somefile.txt', 'r') as f: 
    data = f.read() 

# loop整个文档
with open('somefile.txt', 'r') as f: 
    for line in f: 
        # 处理每一行

# 写入文本 
with open('somefile.txt', 'w') as f: 
    f.write(text1) 
    f.write(text2) 
    ... 

# 把要打印的line写入文件中 
with open('somefile.txt', 'w') as f: 
    print(line1, file=f) 
    print(line2, file=f)
  1. 二进制文件读取
    Python默认读取的都是文本文件。要是想要读取二进制文件,需要把刚刚的'r'改成'rb'。
f = open('image.jpg', 'rb')
print(f.read())
# 输出 '\xff\xd8\xff\xe1\x00\x18Exif\x00\x00...' # 十六进制表示的字节

写入数据到文件(write)

使用write()可以完成向文件写入数据。

f = open('test.txt', 'w')
f.write('hello world!')
f.close()

如果文件不存在那么创建,如果存在那么就先清空,然后写入数据。

关闭文件(close)

 # 新建一个文件,文件名为:test.txt
    f = open('test.txt', 'w')

    # 关闭这个文件
    f.close()

END

上一篇下一篇

猜你喜欢

热点阅读