`

文件-一个简单的任务

 
阅读更多

2016.12.16

 

一般文件分为输入,处理和输出三个部分。

下面是有关文件的一张表。


 

如何打开文件

handle = open(file_name,access_mode='r')

file_name变量包含我们希望打开的文件的字符串名字,access_mode中‘r’表示读取,‘w’表示写入,‘a’表示添加。‘+’表示读写,‘b’表示二进制访问。如果未提供access_mode,默认值为‘r’.如果open成功,一个文件对象句柄会被返回。当一个文件被返回之后,我们就可以访问它的一些方法,比如readlines()和close().

任务:将文件(record.txt)中的数据进行分割并按照以下规律保存起来:
小甲鱼的对话单独保存为boy_*.txt的文件(去掉“小甲鱼:”)
小客服的对话单独保存为girl_*.txt的文件(去掉“小客服:”)

 

文件中总共有三段对话,分别保存为boy_1.txt, girl_1.txtboy_2.txt, girl_2.txt, boy_3.txt, gril_3.txt6个文件(提示:文件中不同的对话间已经使用“==========分割

 

关于一个文件,编写一个程序如下:

def save_file(boy, girl, count):
    file_name_boy = 'boy_' + str(count) + '.txt'
    file_name_girl = 'girl_' + str(count) + '.txt'

    boy_file = open(file_name_boy, 'w')
    girl_file = open(file_name_girl, 'w')

    boy_file.writelines(boy)
    girl_file.writelines(girl)

    boy_file.close()
    girl_file.close()


def split_file(file_name):
    f = open('record.txt')

    boy = []
    girl = []
    count = 1

    for each_line in f:
        if each_line[:6] != '======':
            (role, line_spoken) = each_line.split(':', 1)
            if role == '小甲鱼':
                boy.append(line_spoken)
            if role == '小客服':
                girl.append(line_spoken)
        else:
            save_file(boy, girl, count)

            boy = []
            girl = []
            count += 1

    save_file(boy, girl, count)

    f.close()


split_file('record.txt')

 运行后能够在同一个文件中生成几个txt形式的文件。注意代码生成的地方要和文件的地方在一起。这样就可以打开和读取文件了。

 

  • 大小: 30.5 KB
  • 大小: 54.6 KB
  • 大小: 13 KB
分享到:
评论

相关推荐

    人工智能-项目实践-多任务-一个支持多线程,断点续传功能的Android下载工具.zip

    人工智能-项目实践-多任务-一个支持多线程,断点续传功能的Android下载工具 功能特性 断点续传 支持多线程 (目前版本仅支持单任务单线程,多任务才多线程,未来会继续完善单任务的多线程执行) 使用本项目的理由 可靠...

    一个简单地文件管理系统,实现了文件的上传、下载、移动等功能

    一个简单地文件管理系统,实现了文件的上传、下载、移动等功能,支持大部分类型文件的预览,支持视频浏览,音乐播放等。。。一个个人文件管理系统的源码脚手架,r-pan基于此脚手架搭建,版本更新内容(更换了前端...

    使用Java创建文件压缩工具 - 一个实战教程

    在这个实战博客中,我们将创建一个简单的Java文件压缩工具,用于创建和解压缩文件归档。我们将深入了解Java编程语言以及Java的压缩和解压缩库,以帮助您构建自己的文件压缩工具。 以下是本实战博客的主要内容: ...

    使用Java创建任务调度器 - 一个实战教程

    在本项目中,我们将创建一个简单的Java任务调度器应用程序,它包括以下主要功能: 允许用户定义并计划定时任务。 执行定时任务,例如定时备份文件或定时发送电子邮件。 提供任务日志和状态报告。 我们将使用Java...

    linux-mask由简单的markdown文件定义的CLI任务运行器

    linux-mask由简单的markdown文件定义的CLI任务运行器

    一个简单的文件系统(操作系统课程设计)

    一个简单的文件系统(操作系统课程设计)主要任务是对用户文件和系统文件进行管理,以方便用户使用,并保证文件的安全性。文件管理具有对文件存储空间的管理、目录管理、文件的读/写管理以及文件的共享与保护功能。...

    Linux系统设计-一个简单的 Linux 文件系统

    Linux系统是一个免费使用和自由传播的类Unix操作系统,基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。它继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统,Linux是许多企业...

    taskPHP--基于php开发的定时计划任务框架.zip

    任务派发及具体任务执行不在同个进程[distribute_listen.php]和[worker_listen.php],windows和linux下启用入口文件[main.php],windows下可运行[windows_single.cmd]快速启动。 执行时间语法跟crontab类似,且支持秒...

    SQLServer日志文件太大如何解决

    2.再打开企业管理器--右键你要压缩的数据库--所有任务--收缩数据库--收缩文件--选择日志文件--在收缩方式里选择收缩至XXM,这里会给出一个允许收缩到的最小M数,直接输入这个数,确定就可以了。 ........................

    简易文件管理系统--适合C++初学者

    C++实现的文件管理,仅适合初学者参考 是vc2005工程

    Q-Dir多窗口文件管理器

    使用Windows自带的资源管理器就需要打开几个不同的窗口来实现操作,而 Q-Dir 是专门应对简化这个功能而诞生的超方便资源管理器,它在一个窗口分成4个页面,在多个文件夹中转移文件时候就无需频繁点击任务栏来实现...

    如何编写批处理文件批处理文件批处理文件

    串会被当作一个文件中的一个单一输入行。 最后,您可以用 FOR /F 命令来分析命令的输出。方法是,将 括号之间的 filenameset 变成一个反括字符串。该字符串会 被当作命令行,传递到一个子 CMD.EXE,其输出会被抓进...

    多任务定时运行的小软件

     默认情况下,动作的执行速度是每秒一个周期,即每秒执行一个任务。如果你 觉得慢,可以打开程序安装目录下的Setting.inf文件,找到ExecuteTime= 一栏。调整其 后的数字(毫秒为单位,1000毫秒=1秒),就可以修改...

    毕业设计&课设-一个库,使通过java执行系统命令的过程成为一个简单的任务。.zip

    毕业设计、课程设计源码文件,已经过测试可以直接使用。 毕业设计、课程设计源码文件,已经过测试可以直接使用。 毕业设计、课程设计源码文件,已经过测试可以直接使用。 毕业设计、课程设计源码文件,已经过测试...

    实验5 简单文件系统的实现

    (1) 在内存中开辟一个虚拟磁盘空间作为文件存储分区,在其上实现一个简单的基于多级目录的单用户单任务系统中的文件系统。在退出该文件系统的使用时,应将该虚拟文件系统以一个文件的方式保存到磁盘上,以便下次可以...

    飞鸽传书,用于局域网内传文件

    跨平台信息交流,基于 TCP/IP(UDP),无需服务器,简单易用 ------------------------------------------------------------------------ 1. 系统要求 - Windows 95/98/Me/NT3.51/NT4.0/2000/XP - 要安装 TCP/...

    文件管理系统的课程设计

    通过设计和调试一个简单的文件系统,主要是模拟文件操作命令的执行,来模拟文件管理,使学生对主要文件操作命令的实质和执行过程有比较深入的了解,掌握它们的基本实施方法。文件管理的主要任务是对用户文件和系统...

    XXL-JOB是一个轻量级分布式任务调度平台,其核心设计目标是开发迅速、学习简单、轻量级、易扩展 .rar

    XXL-JOB是一个轻量级分布式任务调度平台,其核心设计目标是开发迅速、学习简单、轻量级、易扩展。现已开放源代码并接入多家公司线上产品线,开箱即用。 步骤: ① 部署:xxl-job-admin 作为注册中心 ② 创建执行器...

    cmd操作命令和linux命令大全收集

    3. Nslookup-------IP地址侦测器 ,是一个 监测网络中 DNS 服务器是否能正确实现域名解析的命令行工具。它在 Windows NT/2000/XP 中均可使用,但在 Windows 98 中却没有集成这一个工具。 4. explorer-------打开...

    apache-commons源码及jar文件

    DbUtils 是一个 JDBC helper 类库,完成数据库任务的简单的资源清除代码. Digester Commons-Digester 是一个 XML-Java对象的映射工具,用于解析 XML配置文件. Discovery Commons-Discovery 提供工具来定位资源 ...

Global site tag (gtag.js) - Google Analytics