美文网首页
2019实战第二期-文件读书打卡

2019实战第二期-文件读书打卡

作者: tipire | 来源:发表于2019-03-20 23:10 被阅读0次

-----学习《Python基础教程第3版》读书笔记-----

打开文件

​ 要打开文件,使用open函数,不需要导入模块io,它会自动导入。

f = open('test.txt')  #也可以指定全路径

​ 文件常见打开模式

f = open('test.txt', 'r')# 读取模式,也是默认值
f = open('test.txt', 'w')# 写入模式。能够写入文件,并在文件,不存在时创建它
f = open('test.txt', 'x')# 独占写入模式,如果文件存在则会报错
f = open('test.txt', 'a')# 追加模式
f = open('test.txt', 'b')# 二进制模式
f = open('test.txt', 't')# 文本模式
f = open('test.txt', '+')# 可与其他任何模式结合起来使用,表示既可读取也可写入
# 例如
open('test.txt', 'r+')   open('test.txt', 'w+')

​ Python使用通用换行模式

文件的基本方法

读取和写入
# 写入
f = open('somefile.txt', 'w')
f.write("Hello,")
f.write("World")
f.close()

# 读取
f = open('somefile.txt', 'r')
f.read(4)
f.read()
使用管道重定向输出
# somescript.py
import sys
text = sys.stdin.read()
words = text.split()
wordcount = len(words)
print('Wordcount:', wordcount)

# 编写文本somefile.txt内容:
Your mother was a hamster and your
father smelled of elderberries.
>> cat somefile.txt | python somescript.py 的结果如下:
Wordcount: 11
读取和写入行
f = open('somefile.txt', 'r')
f.readline()# 读取一行,可以不断循环读取,知道读完
f.readlines()# 读取所有行,如果文件大,容易出现内存溢出
写可以用write
关闭文件
# 养成习惯,操作完成要对文件进行关闭。
# 写入过的文件,一定要将其关闭,因为Python可能缓冲你写入的数据
# 在这里打开文件
try:
    # 将数据写入到文件中
finally:
    file.close()
当然,还有一种好方法,专门会关闭文件流
with open("somefile.txt") as somefile:
    do_something(somefile)

使用文件的基本方法

f = open("somefile.txt", 'w+')
f.read(4) # 代表读取4个字符
f.read() # 读取完所有剩下没读取的内容
f.readline()# 读取一行,可以不断循环读取,知道读完
f.readlines()# 读取所有行,返回列表,如果文件大,容易出现内存溢出
f.write("hello")# 写内容

迭代文件内容

def process(string):
    print('Processing:', string)

# 每次一个字符读取
with open(filename) as f:
    while True:
        char = f.read(1)
        if not char: break
        process(char)
        
# 每次一行
with open(filename) as f:
    while True:
        line = f.readline()
        if not line: break
        process(line)
        
# 读取所有内容
# 使用 read 迭代字符
with open(filename) as f:
    for char in f.read():
        process(char)
# 使用 readlines 迭代行
with open(filename) as f:
    for line in f.readlines():
    process(line)
    
# 使用fileinput实现延迟迭代
import fileinput
for line in fileinput.input(filename):
    process(line)
    
# 文本迭代器
with open(filename) as f:
    for line in f:
        process(line)

常见的文件的模块的使用:os模块, shutil模块,walk模块

相关文章

  • 2019实战第二期-文件格式读书打卡

    2019实战第二期-文件格式读书打卡 读《Python编程快速上手—让繁琐工作自动化 PDF中文高清晰完整版》笔记...

  • 2019实战第二期-异常读书打卡

    -----学习《Python基础教程第3版》读书笔记----- 2019实战第二期-异常读书打卡 异常是什么 使用...

  • 2019实战第二期-时间读书打卡

    2019实战第二期-时间读书打卡 --读《Python编程快速上手—让繁琐工作自动化》 Python里面的并发分2...

  • 2019实战第二期-文件读书打卡

    -----学习《Python基础教程第3版》读书笔记----- 打开文件 ​ 要打开文件,使用open函数,不...

  • 2019实战第二期-文件实战打卡

    问题 假如我们有一个目录里面包含若干个文件和子目录:问题1:我们要统计该目录下有多少个文件并显示出来(包含子目录)...

  • 2019实战第二期-异常实战打卡

    2019实战第二期-异常实战打卡 题目:编写一个迷你的计算器,支持两个数加,减,乘,除要求提示用户输入2个数字和一...

  • 2019实战第二期-文件格式实战打卡

    题目:1.拿到平安银行一年的股票数据 csv文件2.里面一共244个交易日,我们读取csv文件,然后找到成交量(a...

  • 20180708(日)

    做智慧父母,育卓越孩子。祥和父母学院21天打卡实战营第二期《高效沟通》打卡D4天 悦实战,悦成长 今天早上雷阵雨,...

  • 20180706(五)

    做智慧父母,育卓越孩子。祥和父母学院21天打卡实战营第二期《高效沟通》打卡D2天 悦实战,悦成长 冯老师高效沟通的...

  • 20180705(四)

    做智慧父母,育卓越孩子。祥和父母学院21天打卡实战营第二期《高效沟通》打卡D1天 悦实战,悦成长 冯老师高效沟通的...

网友评论

      本文标题:2019实战第二期-文件读书打卡

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