零基础入门学习Python 09

目录

1.文件打开

2.文件对象方法

3.文件内容处理 

4.文件系统 

OS模块

 5.永久储存

pickle模块


1.文件打开

语法:file object = open(file_name [, access_mode][, buffering])

  • file_name:要访问的文件路径及名称的字符串值。
  • access_mode:决定了打开文件的模式:只读,写入,追加等。默认文件访问模式为只读®。
  • buffering:
  •               值取0,不会有寄存。
  •               值取1,访问文件时会寄存行。
  •               值取大于1的整数,表明了这就是的寄存区的缓冲大小。
  •               值取负值,寄存区的缓冲大小则为系统默认。
  • f = open('E:\\test1.txt', 'w')

  • 直接print(f),会输出一个文件对象:
    • <_io.TextIOWrapper name='D:\\test1.txt' mode='r' encoding='cp936'>

2.文件对象方法

 

  • list(f)能将文件直接转化为列表

  • 读取文件对象

for each_line in f:
print(each_line)

  • 注意:

文件写入后,关闭文件才能保存写入内容
f.write('i love ivcc')
f.close()

3.文件内容处理 

def save_file(count, EM, YZ):
    # 文件保存
    if count != 0:
        file_name_EM = '恶魔_' + str(count) + '.txt'
        file_name_YZ = '勇者_' + str(count) + '.txt'
        EM_file = open(file_name_EM, 'w', encoding='utf-8')
        YZ_file = open(file_name_YZ, 'w', encoding='utf-8')

        EM_file.writelines(EM)
        YZ_file.writelines(YZ)

        EM_file.close()
        YZ_file.close()


def main_split_file():
    EM = []
    YZ = []
    count = 0

    f = open('.\\file内容分割test_file.txt', encoding='utf-8')
    for each_line in f:
        print(each_line)
        if each_line[:6] != '======':
            # 按照:分割字符串,保存到序列
            if count != 0:
                (role, line_spoken) = each_line.split(':', 1)
                if role == '恶魔':
                    EM.append(line_spoken)
                if role == '勇者':
                    YZ.append(line_spoken)
        else:
            save_file(count, EM, YZ)
            EM = []
            YZ = []
            count += 1
    save_file(count, EM, YZ)
    f.close()


if __name__ == '__main__':
    main_split_file()

4.文件系统 

OS模块

访问文件系统的模块,用来处理文件和目录
OS: Operating System 操作系统

os基本方法

 

  • 注:

    • '.'表示当前目录
    • '…'表示上一级目录
  • 路径操作中常用到的一些定义

    • os.curdir 指代当前目录(’.’)
    • os.pardir 指代上一级目录(’…’)
    • os.sep 输出操作系统特定的路径分隔符(Win下为’\’,Linux下为’/’)
    • os.linesep 当前平台使用的行终止符(Win下为’\r\n’,Linux下为’\n’)
    • os.name 指代当前使用的操作系统(包括:‘posix’, ‘nt’, ‘mac’, ‘os2’, ‘ce’, ‘java’)

os.path

 5.永久储存

pickle模块

“Pickling”是将Python对象层次结构转换为二进制字节流的过程,
“unpickling”是反向操作
作用:

  • 简化程序,将大量的数据打包(如: 城市字典)成二进制文件,需要使用时调用即可

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值