习题16:读写文件

文件相关的命令(方法/函数),常用的命令如下

close --- 关闭文件,跟你编辑器的 文件-->保存...一个意思

read --- 读取文件内容,你可以把结果赋给一个变量

readline --- 读取文本文件中的一行

truncate --- 清空文件,请小心使用该命令

write(stuff) --- 将stuff写入文件

write需要接收一个字符串作为参数,从而将该字符串写入文件

使用这些命令做一个简单的文本编辑器吧

练习代码

# coding: utf-8
__author__ = 'www.py3study.com'
from sys import argv
script, filename = argv
print("We're going to erase {}.".format(filename))
print("If you don't want that,hit CTRL-C (^C)")
print("If you do want that, hit RETURN.")
input("?")
print("Opening the file...")
target = open(filename, "w")
print("Truncating the file. GoodBye !")
target.truncate()
print("Now I'm going to ask you for three lines.")
line1 = input("line 1:")
line2 = input("line 2:")
line3 = input("line 3:")
print("I'm going to write there to the file.")
target.write(line1)
target.write("\n")
target.write(line2)
target.write("\n")
target.write(line3)
target.write("\n")
print("And finally, we close it.")
target.close()

小技巧就是可以让你的脚本一部分一部分地运行起来,也方便排查错误,以此类推,直到整个脚本运行起来为止

跟上个练习一下,在当前目录创建一个test.txt文件

运行命令

python lianxi_16.py test.txt

应该看到的结果

E:\test>python lianxi_16.py test.txt We're going to erase test.txt. If you don't want that,hit CTRL-C (^C) If you do want that, hit RETURN. ? Opening the file... Truncating the file. GoodBye ! Now I'm going to ask you for three lines. line 1:www.py3study.com line 2:py3study.com line 3:py3study I'm going to write there to the file. And finally, we close it. 最后还可以验证一下,test.txt文件,看看里面是否有你写入的内容

常见问题

为什么'w'要放在括号中?

w是指写入的意思,也就是write

len()函数的功能是什么?

它会以数字的形式返回你传递的字符串长度

最后为什么要close?

打开文件,对应的当然就需要保存文件,在java,C中如果不关闭文件,还会引起内存泄漏,总之一句话对文件操作完后,记得关闭文件

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏程序员的碎碎念

redis对于key的操作命令

搞懂了前面的内容,我相信进入到redis操作命令就很舒服啦;redis操作命令学习没什么技巧,多看多用多拼。在这里分享燕十八里的redis学习笔记(当然官网才是...

18020
来自专栏Python中文社区

网络爬虫框架Scrapy详解之Request

Request类是一个http请求的类,对于爬虫而言是一个很重要的类。通常在Spider中创建这样的一个请求,在Downloader中执行这样的一个请求。同时也...

12300
来自专栏耕耘实录

一分钟在Linux环境下创建一台SFTP服务器(含账户创建)

FTP是比较常见的一种服务了,很多公司都会有可能使用到FTP服务器,本文将以最简洁的办法使用系统自带的ssh软件在1分钟内搭建一台使用方便的FTP服务器。 ...

21530
来自专栏技术小站

Python 多线程与多进程

原文地址:http://www.cnblogs.com/whatisfantasy/p/6440585.html

13220
来自专栏Dawnzhang的开发者手册

数据结构与算法学习笔记之先进先出的队列 数据结构与算法学习笔记之写链表代码的正确姿势(下)数据结构与算法学习笔记之 提高读取性能的链表(上)数据结构与算法学习笔记之 从0编号的数组数据结构与算法学

  队列是一种非常实用的数据结构,类似于生活中发排队,可应用于生活,开发中各个方面,比如共享打印机(先请求先打印),消息队列。你想知道他们是怎么工作的么。那就来...

12930
来自专栏python3

习题11:提问

How old are you? 18 How tall are you? 180 How much do you weight? 130 So,you're ...

8730
来自专栏Laoqi's Linux运维专列

tcpdump详解

38230
来自专栏小狼的世界

Python3.6学习笔记(五)

网络程序出现的比互联网要早很多,实现方式主要依靠网络上不同主机间进程的通信,通信协议最重要的是TCP/IP协议。在这两个协议基础上还有很多更高级的协议,包括HT...

14720
来自专栏spring源码深度学习

java基础thread——多线程的纷争(循序渐进)

正在运行的程序,是系统进行资源分配和调用的独立单位。 每一个进程都有它自己的内存空间和系统资源。

11320
来自专栏HappenLee的技术杂谈

Python读取大文件的"坑“与内存占用检测

随手搜索python读写文件的教程,很经常看到read()与readlines()这对函数。所以我们会常常看到如下代码:

30220

扫码关注云+社区

领取腾讯云代金券