笨方法学Python 习题 15: 读取文件
2017-07-27 14:07
281 查看
#!usr/bin/python # -*-coding:utf-8-*- from sys import argv script, filename = argv #获取参数 给script赋值ex15.py filename赋值ex15_sample.txt txt = open(filename) #打开 ex15_sample.txt文本 print ("Here's your file %r:" % filename) #打印 Here's your file ex15_sample.txt print (txt.read()) #打印 ex15_sample.txt文本内容 print ("I'll also ask you to type it again:") #打印 I'll also ask you to type it again: file_again = input("> ") #输入为file_again赋值 txt_again = open(file_again) #打开file_again文本 print (txt_again.read()) #打印file_again文本
运行结果如下:
python ex15.py ex15_sample.txt
Here's your file 'ex15_sample.txt':
This is stuff I typed into a file.
It is really cool stuff.
Lots and lots of fun to have in here.
Type the filename again:
> ex15_sample.txt
This is stuff I typed into a file.
It is really cool stuff.
Lots and lots of fun to have in here.
加分习题
这节的难度跨越有点大,所以你要尽量做好这节加分习题,然后再继续后面的章节。
①在每一行的上面用注解说明这一行的用途。
如果你不确定答案,就问别人,或者上网搜索。大部分时候,只要搜索 “python” 加上你要搜的东西就能得到你要的答案。比如搜索一下“python open”。
我使用了“命令”这个词,不过实际上它们的名字是“函数(function)”和“方法(method)。上网搜索一下这两者的意义和区别。看不明白也没关系,迷失在别的程序员的知识海洋里是很正常的一件事情。
②删掉 10-15 行使用到 raw_input 的部分,再运行一遍脚本。
只是用 raw_input 写这个脚本,想想那种得到文件名称的方法更好,以及为什么。
从个人学习角度,还是input更好用,更加灵活。而且代码更容易被理解。
③运行 pydoc file 向下滚动直到看见 read() 命令(函数/方法)。看到很多别的命令了吧,你可以找几条试试看。不需要看那些包含 __ (两个下划线)的命令,这些只是垃圾而已。
再次运行 python 在命令行下使用 open 打开一个文件,这种 open 和 read 的方法也值得你一学。
让你的脚本针对 txt and txt_again 变量执行一下 close() ,处理完文件后你需要将其关闭,这是很重要的一点。
常见问题回答
txt = open(filename) 返回的是文件的内容吗?
不是,它返回的是一个叫做“file object”的东西,你可以把它想象成一个磁带机或者DVD机。你 可以随意访问内容的任意位置,并且去读取这些内容,不过这个 object 本身并不是它的内容。
我没法再我的 Terminal/PowerShell 命令行下输入 python 代码。
首先,在命令行输入 python 然后敲回车。现在你就在 python 环境中了。接下来你就可以输入并运行一句一句的代码。试着玩玩,如果想退出就输入 quit()再敲回车。
from sys import argv 是什么意思?
现在能告诉你的是, sys 是一个代码库,这句话的意思是从库里取出 argv 这个功能来,供我使用。后面你会学到更多相关知识。
我把文件名写进去写成 script, ex15_sample.txt = argv 不过这样不灵。
这么做是错的。把代码写成和我一模一样,然后从命令行运行,照着我的方式。你不需要把文件名放到代码中,而是让 Python 把文件名当做参数接纳进去。
为什么打开了两次文件没有报错?
Python 不会限制你打开文件的次数,事实上有时候多次打开同一个文件是一件必须的事情。
相关文章推荐
- 笨办法学python习题15 读取文件
- python读取文件方法
- python实现带错误处理功能的远程文件读取方法
- python读取json文件并将数据插入到mongodb的方法
- Python3读取UTF-8文件及统计文件行数的方法
- python中readline判断文件读取结束的方法
- python计算文件的行数和读取某一行内容的实现方法
- Python3实现将文件归档到zip文件及从zip文件中读取数据的方法
- Python文件读取的3种方法及路径转义
- Python导出数据到Excel可读取的CSV文件的方法
- Python 之 h5py 读取 matlab 中 .mat 文件 cell 方法浅析
- Python中文件读取readlines()方法
- Python3读取zip文件信息的方法
- Python3读取UTF-8文件及统计文件行数的方法
- python实现带错误处理功能的远程文件读取方法
- CDays-3 习题二 (字典及文件读取练习)及相关内容解析。Python 基础教程
- Python使用xlrd读取Excel格式文件的方法
- python15 读取文件
- Python3读取zip文件信息的方法
- python中文件读取并展示的几种方法