美文网首页python
第九章 Python3_文件操作之读写

第九章 Python3_文件操作之读写

作者: 热爱_生活 | 来源:发表于2019-12-27 17:30 被阅读0次

一、 文件操作流程

  1. 打开文件,得到文件的对象(句柄)
  2. 通过文件对象(句柄)操作文件
  3. 保存并关闭文件


二、 Python 中如何实现

python中使用open() 函数来操作文件。

  1. 打开文件,得到文件句柄,并把一个变量名分配给这个文件句柄

变量名 = open('文件路径', '打开模式', encoding = '字符编码')

f_obj = open('a.txt', 'r', encoding='utf-8')

  1. 通过句柄对文件进行操作
data = f_obj.read()
print(data)

  1. 关闭文件
f_obj.close()

字符编码的问题

f=open(...) 是由操作系统打开文件,那么如果我们没有指定编码,那么打开文件的默认编码很明显是操作系统说了算,操作系统会用自己的默认编码去打开文件,默认情况下,在 windows 下是 gbk,在 linux 下是 utf-8

若要保证不乱码,文件以什么方式存储的,就要以什么方式打开。



三、 文件打开模式

打开文件的模式有:

1. 文本方式操作

  • r 只读模式【默认】
  • w 只写模式【不可读;不存在则创建;存在则清空原来的内容再写新内容;】
  • a 追加模式【不可读;不存在则创建;存在则以追加的方式写入新的内容;】

2. 字节方式操作

b 表示以字节的方式操作,不需要编码的参数 encoding

  • rb 字节方式读取
  • wb 字节方式写入,清空原文件内容
  • ab 字节方式的追加写入

注意:以b方式打开时,读取到的内容是字节类型,写入时也需要提供字节类型



四、文件操作

1. 读操作

f_obj = open('./a.txt', 'r')

# 读全部
content = f_obj.read()
print(content)

# 每次读一行
line1 = f_obj.readline()

line2 = f_obj.readline()

line3 = f_obj.readline()

# 一次读完,把每一行的内容放在列表中,成为列表中的一个元素
line_list = f_obj.readlines()

2. 写操作

a. 写普通的文本

f_obj = open('a.txt', 'w')

# 针对文本模式的写,需要自己写换行符
f_obj.write('你好\n')
f_obj.write('广州\n')
f_obj.close()

b. 写 bytes 内容

f_obj = open('b.txt', 'wb')

# 定义 bytes 内容, 两种方式都可以
b1 = bytes('你好\n', encoding='utf-8')
b2 = '广州\n'.encode('utf-8')

# 可以用 writelines() 一次性写入多行
f_obj.writelines([b1, b2])
f_obj.close()

3. for 循环文件对象

>>> file_name = './a.txt'
>>> f_obj = open(file_name, 'r')
>>> for line in f_obj:
...     print(line)
...
hello

world

>>>f_obj.close()

In [10]: f = open('a.txt', 'w', encoding='utf-8')

In [11]: for i in ['name', 'shark']:
    ...:     print(i)
    ...:
name
shark

In [12]: for i in ['name', 'shark']:
    ...:     f.write("{}\n".format(i))
    ...:

In [13]: f.close()

In [14]: !cat a.txt
name
shark

4. 其他方法和属性

f.name                 # 文件名
f.closed               # 文件是否关闭

f.readable()           # 文件是否可读
f.writable()           # 文件是否可写
f.flush()              # 立刻将文件内容从内存刷到硬盘



源数据

观察下面的数据,完成下面的需求。

symbol=BCHBTC;baseCoin=BCH;quoteCoin=BTC;baseAccountNormal=201104;baseAccountLock=202104;quoteAccountNormal=201101;quoteAccountLock=202101;sysUid=1;sysBaseAccount=101015;sysQuoteAccount=101016;feeCoin=YLB;useFeeCoin=false;feeAccountNormal=201109;sysFeeAccount=101025;useFeeByAward=false;feeAccountAward=206109-symbol=QTUMUSDT;baseCoin=QTUM;quoteCoin=USDT;baseAccountNormal=201143;baseAccountLock=202143;quoteAccountNormal=201106;quoteAccountLock=202106;sysUid=1;sysBaseAccount=101360;sysQuoteAccount=101361;feeCoin=YLB;useFeeCoin=false;feeAccountNormal=201109;sysFeeAccount=101362;useFeeByAward=false;feeAccountAward=206109-symbol=BCHUSDT;baseCoin=BCH;quoteCoin=USDT;baseAccountNormal=201104;baseAccountLock=202104;quoteAccountNormal=201106;quoteAccountLock=202106;sysUid=1;sysBaseAccount=101015;sysQuoteAccount=101016;feeCoin=YLB;useFeeCoin=false;feeAccountNormal=201109;sysFeeAccount=101025;useFeeByAward=false;feeAccountAward=206109-symbol=BOTBTC;baseCoin=BOT;quoteCoin=BTC;baseAccountNormal=201145;baseAccountLock=202145;quoteAccountNormal=201101;quoteAccountLock=202101;sysUid=1;sysBaseAccount=101121;sysQuoteAccount=101122;feeCoin=YLB;useFeeCoin=false;feeAccountNormal=201109;sysFeeAccount=101123;useFeeByAward=false;feeAccountAward=206109-symbol=ETHBTC;baseCoin=ETH;quoteCoin=BTC;baseAccountNormal=201102;baseAccountLock=202102;quoteAccountNormal=201101;quoteAccountLock=202101;sysUid=1;sysBaseAccount=101011;sysQuoteAccount=101012;feeCoin=YLB;useFeeCoin=false;feeAccountNormal=201109;sysFeeAccount=101023;useFeeByAward=false;feeAccountAward=206109
# 你只需要复制上面的一行数据即可,千万不要复制此行以及下面的一行
#

需求:

注意上面的源数据是分为好几个部分的。把每个部分分别写在每个文件中。
每个部分的文件名称为 symbol 键对应的值。
比如上面示例中,文件名应该是: BCHBTC, 并且每个文件的扩展名均为: .yml 结尾。
示例结果:
文件名: BCHBTC.yaml 部分内容如下

symbol: BCHBTC
baseCoin: BCH

文件名: QTUMUSDT.yaml 部分内容如下

symbol: QTUMUSDT
baseCoin: QTUM

相关文章

  • 第九章 Python3_文件操作之读写

    一、 文件操作流程 打开文件,得到文件的对象(句柄) 通过文件对象(句柄)操作文件 保存并关闭文件 二、 Pyth...

  • Python 学习笔记6 2018-04-13

    文件操作: 1,文件的读写操作 2,文件的各种系统操作 3,存储对象 1,文件的读写操作 读写数据: ...

  • 文件操作之读写

    一、文件操作流程 1.打开文件,得到文件的句柄 通过句柄操作文件3.保存并关闭文件 二、python中实现 在py...

  • 文件操作之读写

    一、 文件操作流程1.打开文件,得到文件的对象(句柄)2.通过文件对象(句柄)操作文件3.保存并关闭文件 二、 P...

  • python012-文件操作

    文件的基本操作 1 文件操作步骤 打开文件 读写等操作 关闭文件 注意:可以只打开和关闭文件,不进行任何读写操作。...

  • 用Python实现磁盘IO操作全攻略,让数据流动起来!

    01 文件读写 1. 打开文件 读写文件是最常见的IO操作。Python内置了读写文件的函数,方便了文件的IO操作...

  • 【2017-09-28】文件与IO(一)

    文件的读写操作 前导 python内置了读写文件的函数。读写文件,不是直接操作磁盘,现代操作系统不允许,所以在磁盘...

  • python 文件操作

    读写文件通常包含以下操作: 打开文件。获取文件对象 读写文件、对文件内容进行操作。 关闭文件。使用文件对象关闭文件...

  • Android 基础之文件和数据库

    Java 文件流 1. 字节流文件操作(读写)的代码 2. 字符流文件操作(读写)的代码 3. 按行(读写)的代码...

  • 文件读写总结

    1. C++文件读写详解 1.1. 文件读写操作 使用方式 1.1.1. 打开文件 文件操作通过成员函数open(...

网友评论

    本文标题:第九章 Python3_文件操作之读写

    本文链接:https://www.haomeiwen.com/subject/fvidoctx.html