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.txt,boy_2.txt, girl_2.txt, boy_3.txt, gril_3.txt共6个文件(提示:文件中不同的对话间已经使用“==========”分割)
关于一个文件,编写一个程序如下:
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形式的文件。注意代码生成的地方要和文件的地方在一起。这样就可以打开和读取文件了。
相关推荐
【正文】 在现代Java开发中,Spring Boot框架已经成为构建高效、简洁的应用程序的首选工具,尤其在...在hello-springboot项目中,你可以尝试按照上述步骤创建并运行一个简单的定时任务,进一步理解和掌握这一功能。
在本文中,我们将深入探讨如何使用Node.js创建一个超级简单的任务Runner,该Runner基于复合函数和Promise链。这个任务Runner的目的是帮助开发者更高效地组织和执行一系列异步操作,这是Node.js开发中的常见需求。在...
人工智能-项目实践-多任务-一个支持多线程,断点续传功能的Android下载工具 功能特性 断点续传 支持多线程 (目前版本仅支持单任务单线程,多任务才多线程,未来会继续完善单任务的多线程执行) 使用本项目的理由 可靠...
4. **Web管理界面**:XXL-JOB提供了一个友好的Web管理界面,用户可以方便地进行任务的添加、修改、删除、监控等操作。界面直观,降低了使用门槛。 5. **日志追踪**:任务执行过程中的日志会被记录下来,方便开发者...
在本项目中,"简易文件管理系统"是一个专为C++初学者设计的实践教程,旨在帮助他们理解如何在C++编程环境下实现一个简单的文件管理功能。这个系统可能涵盖了基本的文件操作,如创建、读取、写入和删除文件,以及文件...
该项目为基于Java核心的xxl-job分布式任务调度平台,源代码包含287个文件,涵盖133个Java源文件、35个PNG图片、35个JavaScript文件、16个XML配置文件、12个CSS样式表、11个FTL模板文件、6个属性文件、3个Markdown...
这个基于CLI(命令行界面)的任务日志器,是一个利用Node.js特性和模块化编程设计的小型工具,旨在帮助用户记录和管理日常任务。通过在命令行中简单地输入指令,你可以轻松地记录和查看你的工作进度,从而提高工作...
`go-task`是一个基于Golang编写的任务计划系统,主要功能是执行定期的任务,初期设计重点在于访问URL,因此适用于监控用途。它利用Go语言的强大性能和并发特性,为用户提供高效且稳定的定时任务执行环境。 ### 1. ...
【描述】"go-getter -一个 Go库用于从各种来源使用URL下载文件或目录" Go-getter库的核心功能是提供一个统一的API,无论文件或目录位于何处,都可以通过URL进行下载。这极大地简化了代码,避免了针对不同协议编写...
【标题】"一个简单的多任务内核实例/Linux-0.00" 提示我们讨论的是早期Linux操作系统的一个版本,它展示了如何实现多任务处理。在操作系统设计中,多任务是核心功能之一,允许系统同时执行多个程序,提高资源利用率...
lite-job 是一个轻量级的分布式任务调度系统,特别适合于微服务架构中的任务调度需求。这个系统的设计目标是简单易用、高可用和可扩展。在Android开发中,它作为一个Android Studio插件,可以方便地帮助开发者进行...
在这个基于"XXL-Job的调度任务服务.zip"的课程设计中,我们可以深入学习到如何使用Java实现一个分布式任务调度系统。以下是关于XXL-Job和相关Java技术的知识点详解: 1. **XXL-Job核心概念** - **Job执行器...
一个简单地文件管理系统,实现了文件的上传、下载、移动等功能,支持大部分类型文件的预览,支持视频浏览,音乐播放等。。。一个个人文件管理系统的源码脚手架,r-pan基于此脚手架搭建,版本更新内容(更换了前端...
XXL-JOB是一个分布式任务调度平台,它提供了简单易用的API和Web界面,使得开发者能够轻松地实现任务的分布式调度。XXL-JOB 2.4.0是该框架的一个重要版本,针对Oracle数据库进行了SQL语法的整改,以更好地支持在...
压缩包中文件是通过Object-C语言实现的一个简易的待办事项(To-Do List)管理器,这个管理器将允许用户添加、查看和删除待办事项。 代码解释 1、ToDoList 类 tasks 属性:一个可变数组,用于存储待办事项。 addTask:...
Gofer.NET是一个基于.NET Core构建的简单分布式任务作业系统,主要设计用于.NET开发环境中的作业调度和任务分发。在当今的微服务架构中,任务调度和分布式作业处理是不可或缺的一部分,它们能够帮助开发者实现复杂的...
任务派发及具体任务执行不在同个进程[distribute_listen.php]和[worker_listen.php],windows和linux下启用入口文件[main.php],windows下可运行[windows_single.cmd]快速启动。 执行时间语法跟crontab类似,且支持秒...
【描述】Linux-mask是一个创新的命令行工具,它允许用户通过简单的Markdown格式定义和执行一系列的任务。这种设计思路旨在提高开发者和系统管理员的工作效率,使得复杂的自动化流程可以更加直观、易读且易于维护。 ...
首先,这个文件的命名中包含的信息相当丰富,它不仅仅是一个简单的数据包,而是代表了一系列的项目管理活动。每一个缩写和编号都有其特定的含义,指示了文件的性质和它所关联的项目阶段。"RF"代表了需求的提出,可能...
使用Windows自带的资源管理器就需要打开几个不同的窗口来实现操作,而 Q-Dir 是专门应对简化这个功能而诞生的超方便资源管理器,它在一个窗口分成4个页面,在多个文件夹中转移文件时候就无需频繁点击任务栏来实现...