PYTHON 课程17:继续读写文件

本文内容主要来自LEARN PYTHON THE HARD WAY

主要内容

这一课的内容是将一个文本文件的内容复制到另一个文本文件中,与想象的不同,复制的过程会覆盖原文件中的内容。

练习如下:

输出如下:

在运行时输入python ex17.py ex15_sample.txt newfile.txt,程序会自动新建newfile.txt并将ex15_sample.txt的内容写入新建的文本文档中。

错误记录:

  1. 没有成对的写括号导致报错
  2. Open()新文件时没有使用参数”w”,导致写内容时失败

疑问:

Len()是怎样算长度的?在包含汉字的文本中呢?换行算字符吗?

本文内容主要来自LEARN PYTHON THE HARD WAY

PYTHON 课程16:读和写文件

本文内容主要来自LEARN PYTHON THE HARD WAY

主要内容

今天练习了文本文件的打开、清除、写入、保存并关闭文件等操作,用到了以下几个方法:open/truncate/write/close。

练习如下:

输出如下:

此程序在运行前需要输入除文件名外还需要输入需要的参数哦,在语句中指定了几个argv,运行前就需要输入几个参数。

错误记录:

在写括号时写成了中文符号。要注意检查!

疑问:

在使用write()写入文件时,要一次写入多行,中间可以使用\n换行;要一次写入多个变量值,要使用格式转换

本文内容主要来自LEARN PYTHON THE HARD WAY

PYTHON 课程15:打开一个文件

本文内容主要来自LEARN PYTHON THE HARD WAY

主要内容

这次学点新内容,读取txt文件。练习了通过argv和input()两种方式输入文件名打开文件。

练习如下:


输出如下:

因为运行时输入了avgr的参数,所以第一段直接输出了文件内容。第二段程序询问了我需要打开的文件名,然后才输出文件内容。

错误记录:

  1. 再一次在print后面忘加括号了!3.x的版本一定要注意括号!

疑问:

  1. 不知道close()的作用,难道是释放对内存的占用?
  2. 如果要打开其它路径的文件呢,怎么操作?
  3. 教程中说PYTHON不限制对一个文件做多次open()的操作,而且有时候这是必须的,为什么呢?

本文内容主要来自LEARN PYTHON THE HARD WAY

PYTHON 课程14:提示和通过?

本文内容主要来自LEARN PYTHON THE HARD WAY

主要内容

虽然标题写得很怪,不过这次是对比练习argv和input()输入。看英文教程确实有点麻烦,因为我跟本不知道这个标题是什么意思!不过内容还是免强能读下去。

练习如下:

091316_1449_PYTHON141.png

输出如下:

此程序在运行前需要输入除文件名外还需要输入需要的参数哦,在语句中指定了几个argv,运行前就需要输入几个参数。

错误记录:

  1. 在转换格式字符串时,将%和字符串写在了括号外面,导致了TypeError: unsupported operand type(s) for %: ‘NoneType’ and ‘tuple’错误。教程是2.x的版本,此处不存在括号问题,3.x的版本一定要注意括号。

疑问:

确实可以把form sys import argv写为import sys来导入整个模块,但在后面使用argv时就必须写明为sys.argv。

本文内容主要来自LEARN PYTHON THE HARD WAY

PYTHON 课程13:参数、解压和变量

本文内容主要来自LEARN PYTHON THE HARD WAY

主要内容

这一课主要讲了参数变量的使用,但因为开始涉及到模块等知识,感觉更因难一些了。比如一开始写的 from sys import agvr,搜索了许久才大概理解了应该是声明在程序运行时要引有sys模块的agvr参数。

练习如下:

输出如下:

此程序在运行前需要输入除文件名外的另外三个参数,本例中就写了apple,orange,grapefruit三个,运行后,程序输出了四个变量。要注意的是能常参数用空格隔开,如参数中包含空格,那需要有引号括起来。将四个参数分别赋予agvr就是解压的过程啦。

错误记录:

第一次运行时没有理解,直接运行了python ex13.py提示了”
not enough values to unpack (expected 4, got 1)”错误,后来修正了。

疑问:

From sys import agvr如果写成import sys是不是也一样?

本文内容主要来自LEARN PYTHON THE HARD WAY

PYTHON 课程12:关于input()的输入提示

本文内容主要来自LEARN PYTHON THE HARD WAY

接着上一课的内容,在input()时显示输入提示

练习如下:

输出如下:

这一课除了以上内容外,还主要提到了使有PYTHON自带的帮助系统,因为我使用的是PYTHON 3.X版本,所以打开的方式与教程不同:

在命令行模式下输入:

会看到pydoc的参数提示,如下:

其中 python –m pydoc <name>可以直接查询模块的相关帮助,python –m pydoc –b可以打开浏览器查看所有模块的帮助。

下一节将会学习参数、变量的更多知识,感觉开始变难了。

本文内容主要来自LEARN PYTHON THE HARD WAY

PYTHON 课程11:学习输入

本文内容主要来自LEARN PYTHON THE HARD WAY

因为我用的版本为3.5.2,所以练习时与教程的写法不太一样。

经过了之前无聊的在程序里写好内容的print()练习,现在我们们学习如何让程序获得数据。

今天练习的是让用户输入数据,然后输出出来。

练习如下:

输出结果:

 

 

 

 

错误记录:

  1. 在写end = “”时,没有在前面加上,分隔
  2. 将input()写成了raw_input(),而后者是2.x版本才有的

疑问:

将第8行的%s换成%r后,输出会变成:

So,you’re ’10’ old,‘1\’20″‘ tall and ’40’ heavy.

为什么身高那里会有个反斜杠?

 

本文内容主要来自LEARN PYTHON THE HARD WAY

PYTHON 课程10:还是Print

本文内容主要来自LEARN PYTHON THE HARD WAY

本次还是在学习print(),这次主要练习的转义符反斜杠的使用”/”。

练习代码如下:


输出结果:

 

笔记:

1、\t为增加空格

2、\n为分段

3、其它的转义可以在本文上下链接的原文中查看

错误记录:

  1. 在print()语句中忘写反引号

疑问:

  1. 本次练习中最后一段在加上红色字本的限定语句前,是一段JOKER代码,运行后会无限循环输出集合中的几个符号。能够大致可以理解为for循环会将集合中的5个符号轮流输出一遍,while循环会不断的让for循环继续。但while True:是怎么工作的?
  2. 加上限定语句后,这个缩进是怎么工作的?当if语句缩进与x=x+1一样时,似乎运行起来不太对劲。

    本文内容主要来自LEARN PYTHON THE HARD WAY

PYTHON 课程9:继续Print

本文内容主要来自LEARN PYTHON THE HARD WAY

 

本次依然是print()练习,本次侧重于\n的使用

 

练习代码如下:

输出结果如下:

疑问:

  1. 第7行在括号内使用了三个双引号,我尝试使用一个或两个双引号,结果会报错:EOL while scanning string literal。看上去文本块是必须使用三个引号。
  2. 为什么最后一个print输出内容的前后都有空行?

 

下一节貌似会转入比较复杂的学习,不知还能不能顺得看懂教程。原教程是以Python2.x讲解的,也许后面会碰到更多与Python3.0不一致的语法吧。

 

本文内容主要来自LEARN PYTHON THE HARD WAY

PYTHON 课程8:依然Print

本文内容主要来自LEARN PYTHON THE HARD WAY

今天依然练习PYTHON的print()语句。

今天练习print()的对象是%r,%r应该是原样转换任意对象。本次代码如下:


输出结果:


错误总结:

  1. 在print语句后忘了加()
  2. 将系统变量False错写成了Flase
  3. 在第8-10行中,进行多个对象转换时,没有使用,分隔

疑问:

  1. 第5行的输出为什么会输出带单引号的 ‘%r %r %r %r’?这里单引号是什么意思?最后一个pring()输出的文本也是带引号的,而且在文本本身包含单引号时,自动使用双引号括起文本,这都是%r的特性吗?
  2. 尝试将第一句赋值变为formatter = “%s %s %s %s”后,输出的文本就不带引号了。

本文内容主要来自LEARN PYTHON THE HARD WAY