第一个 Python 程序 交互式编程 交互式编程不需要创建脚本文件,是通过 Python 解释器的交互模式进来编写代码。...如果是 IndentationError: unexpected indent 错误, 则 python 编译器是在告诉你"Hi,老兄,你的文件里格式不对了,可能是tab和空格没对齐的问题",所有 python.../usr/bin/python # -*- coding: UTF-8 -*- # 文件名:test.py # 第一个注释 print "Hello, Python!"...""" Python空行 函数之间或类的方法之间用空行分隔,表示一段新的代码的开始。类和函数入口之间也用一行空行分隔,以突出函数入口的开始。 空行与代码缩进不同,空行并不是Python语法的一部分。...文章就给看官们分享到这儿 最后,如果觉得有帮助,记得关注、转发、收藏哟
P # (大写) 打印模板块的第一行。 q # 退出Sed。 b # 分支到脚本中带有标记的地方,如果分支不存在则分支到脚本的末尾。 r # 从file中读行。...t # if分支,从最后一行开始,条件一旦满足或者T,t命令,将导致分支到带有标号的命令处,或者到脚本的末尾。...T # 错误分支,从最后一行开始,一旦发生错误或者T,t命令,将导致分支到带有标号的命令处,或者到脚本的末尾。 w # 写并追加模板块到file末尾。...2行: sed '2d' file 删除文件的第2行到末尾所有行: sed '2,$d' file 删除文件最后一行: sed '$d' file 删除文件中所有开头是test的行: sed '/^test...ba 是如果没有到第六行就跳转到a继续循环 下一个:n命令 如果test被匹配,则移动到匹配行的下一行,替换这一行的aa,变为bb,并打印该行,然后继续: sed '/test/{ n; s/aa/bb
如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。 “r+”:打开一个文件用于读写。文件指针将会放在文件的开头。 “w+”:打开一个文件用于读写。...如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。 “a”:打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。...和上面的相似,不同的是:不是在文件后添加新内容,而是重写文件内容。 读写文件 open()函数的第二个参数为”r+”或”w+”。...“r+”和”w+”相同点: 文件权限都是可读可写 文件的指针放在文件的开头 不同点: “r+”不是重写文件,而是覆盖,即当原来的文件内容比写的文件内容少时,后面的内容还在,而”w+”是重写文件。...read()在当前指针处开始读,而当前指针在文件尾部,其后为空,所以打印文件为空(两行空行)。 readlines()时回到文件开头处开始读。而刚刚写入的还没有保存,所以只能读出写入操作之前的内容。
文件输入输出中常用的文件对象方法: open : 返回一个新的文件对象,调用该对象的上的方法可对文件进行任何操作 readline: 读取一行数据包括结尾的换行符在内 write: 将数据写入文件中 close...设置一个参数 n 则读取n个字符 不设置 则只读取一行包括结尾的换行符 输出结果: What Are Words (A Tribute to Chris Medina) - Ameritz - Tribute... What Are Words 补充: 文件操作中方法: read:从文件中读取N个字符 当未给定参数时 读取所有字符 seek :移动指针 第一个参数 偏移量 第二个参数:从什么位置开始... 文件不存在则创建 w+:指针开头位置,读写方式打开 文件不存在则创建 a : 指针尾部位置 写入方式打开 文件不存在则创建...: 输出一个文件 当使用 fread($file,filesize) fgets fgetc 等方法 输出内容时 如果为空 则使用fseek方法 将指针移动到初始位置即可 例如: $filename
file.seek(n,0):(模式0)模式0代表了,绝对位置,n为几,就会把指针移动到从文件开头开始算数的第几个字节。(在使用seek时,如果不指定模式,那么默认的模式就是0。)...比如说file.seek(3,0) 将指针移动到从文件的开头(第0个字节)开始数,三个字节的位置。...print f1.tell() >>>6 #指针的位置在第6个字节上,这也就说明了,1模式每次移动,并不是从文件的开头开始算起,而是根据指针上次所在的位置开始向后移动。...下面来测试下seek方法的2模式的功能是否如之前所说,从文件最末尾开始,向文件的开头移动。...这时可能会有人问,取出文件的最后一行,岂不是很简单的操作,只要使用readlines方法把文件都读出来,然后取最后一个元素,就可以取到最后一行了,这种方法岂不是更简单? 像这样。
P # (大写) 打印模板块的第一行。 q # 退出Sed。 b lable # 分支到脚本中带有标记的地方,如果分支不存在则分支到脚本的末尾。 r file # 从file中读行。...t label # if分支,从最后一行开始,条件一旦满足或者T,t命令,将导致分支到带有标号的命令处,或者到脚本的末尾。...T label # 错误分支,从最后一行开始,一旦发生错误或者T,t命令,将导致分支到带有标号的命令处,或者到脚本的末尾。 w file # 写并追加模板块到file末尾。...2行: sed '2d' file 删除文件的第2行到末尾所有行: sed '2,$d' file 删除文件最后一行: sed '$d' file 删除文件中所有开头是test的行: sed '/^test...如果两个命令都是替换命令,那么第一个替换命令将影响第二个替换命令的结果。
给offset参数一个定义,表示要从哪个位置开始偏移; # 0代表从文件开头开始算起,1代表从当前位置开始算起,2代表从文件末尾算起。...如果该文件已存在则打开文件,并清空内容从开头开始编辑。如果该文件不存在,创建新文件。...wb 以二进制格式打开一个文件只用于写入。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。 如果该文件不存在,创建新文件。...一般用于非文本文件如图片等。 w+ 打开一个文件用于读写。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。 如果该文件不存在,创建新文件。...wb+ 以二进制格式打开一个文件用于读写。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。 如果该文件不存在,创建新文件。
P # (大写) 打印模板块的第一行。 q # 退出Sed。 b lable # 分支到脚本中带有标记的地方,如果分支不存在则分支到脚本的末尾。 r file # 从file中读行。...t label # if分支,从最后一行开始,条件一旦满足或者T,t命令,将导致分支到带有标号的命令处,或者到脚本的末尾。...T label # 错误分支,从最后一行开始,一旦发生错误或者T,t命令,将导致分支到带有标号的命令处,或者到脚本的末尾。 w file # 写并追加模板块到file末尾。...2行: sed '2d' file 删除文件的第2行到末尾所有行: sed '2,$d' file 删除文件最后一行: sed '$d' file 删除文件中所有开头是test的行: sed '/^test...命令 如果test被匹配,则移动到匹配行的下一行,替换这一行的aa,变为bb,并打印该行,然后继续: sed '/test/{n;s/aa/bb/;}' file 变形:y命令 把1~10行内所有abcde
Guido的简历 回忆上次内容 python 是Guido制作的语言 从Guido刚入职场 就开始的项目 python这个项目 一直跟随Guido Guido 曾经在 cwi cnri beopen...google dropbox microsoft 工作 让我们用 python 为 Guido 写一个简历 吧 准备oeasy.py 恢复 很久之前的 oeasy.py 如果 已经找不到的话...移动 首先保持 双手正位 用指定的手指 按键 第一行 第一个字符 g g 最后一行 G 按单词移动 向前移动 一个word单词 w 向后(back)移动一个word b 将光标移动到上图位置...移动回最开头 第一行 第一个 字符 gg 删除 删除(delete) 光标所在行 dd 最开头的 空行 刚刚gg到达的 第一行 gg 是第一行 G 是最后一行 复制代码 在第一行...先按一下y 观察 下图红框位置 再按一下G 注意此处是 大写G 需要用shift + g 完整命令 完整命令是yG 复制(yank)的是 从 当前位置 也 就是gg的 第一行 到 最后一行
空行 函数之间或类的方法之间用空行分隔,表示一段新的代码的开始。类和函数入口之间也用一行空行分隔,以突出函数入口的开始。 空行与代码缩进不同,空行并不是 Python 语法的一部分。...rb+ 以二进制格式打开一个文件用于读写。文件指针将会放在文件的开头。 w 打开一个文件只用于写入。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。...wb 以二进制格式打开一个文件只用于写入。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。 w+ 打开一个文件用于读写。...如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。 wb+ 以二进制格式打开一个文件用于读写。...如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。 a 打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。
sed的常用参数 -n 屏蔽默认输出;如果不加-n选项会全部输出文本满足条件的行再重复输出 -r 如果使用扩展正则,则需要添加-r选项,默认不支持扩展正则,只支持标准正则 -i 直接修改源文件;不加-i...多行时除最后一行外,每行末尾需用“\”续行 b lable 分支到脚本中带有标记的地方,如果分支不存在则分支到脚本的末尾。 c 用此符号后的新文本替换当前行中的文本。...多行时除最后一行外,每行末尾需用"\"续行 d 从模板块(Pattern space)位置删除行 D 删除模板第一行 i 在当前行上面插入文本。...# 把注释扩展到下一个换行符以前 t if分支,从最后一行开始,条件一旦满足或者T,t命令,将导致分支到带有标号的命令处,或者到脚本的末尾。...T 错误分支,从最后一行开始,一旦发生错误或者T,t命令,将导致分支到带有标号的命令处,或者到脚本的末尾。
以上几步就实现了从word里面读取数据,并转化成python的数据类型list了。list里面的每个元素,就等同于我们word里面的每一个段落。...然后再遍历源数据列表,对列表的每个元素按“.”号切割,切割后拿到它的第一个元素,拿这个元素跟pacth_lis进行匹配,如果它是在patch_list中的,就代表它是每道题的开头。...0代表了第一道题是在列表的第1个元素开始的,8代表第二道题在列表的第9个元素开始。 于是我们就知道每道题的开头是在列表中的哪个位置了。 2、拿到了每道题的索引,然后怎么做呢?...你给它传第一个参数是个具体的文件路径,它就会去打开这个文件,读取里面的内容。 传的第二个参数是100,它就会自动生成1到100的字符串,用来匹配识别你的每道题的开头在哪个位置。...直到匹配到下一个“数字.”开头的,又重复这个过程。 如果你的文档里面并不是像我这样,没有顺序递增的题号,你可以手动给每个你想要放在表格中第一列的段落,在它前面加标识符,例如“####.”
实例如下: if True: print ("True") else: print ("False") 以下代码最后一行语句缩进数的空格数不一致,会导致运行错误: if True: print ("Answer...如 r"this is a line with \n" 则\n会显示,并不是换行。 按字面意义级联字符串,如"this " "is " "string"会被自动转换为this is string。...Python 中的字符串有两种索引方式,从左往右以 0 开始,从右往左以 -1 开始。 Python中的字符串不能改变。 Python 没有单独的字符类型,一个字符就是长度为 1 的字符串。...print(str[0]) # 输出字符串第一个字符 print(str[2:5]) # 输出从第三个开始到第五个的字符 print(str[2:])...类和函数入口之间也用一行空行分隔,以突出函数入口的开始。 空行与代码缩进不同,空行并不是Python语法的一部分。书写时不插入空行,Python解释器运行也不会出错。
当然你也可以为源码文件指定不同的编码: # _*_ coding:cp-1252 _*_ 标识符 第一个字符必须是字母表中字母或下划线 _ 。 标识符的其他的部分由字母、数字和下划线组成。...多行语句 Python 通常是一行写完一条语句,但如果语句很长,我们可以使用反斜杠\来实现多行语句,例如 在 [], {}, 或 () 中的多行语句,不需要使用反斜杠 \ ,例如: 数字...如 r"this is a line with \n" 则\n会显示,并不是换行。 按字面意义级联字符串,如"this " "is " "string"会被自动转换为this is string。...Python 中的字符串有两种索引方式,从左往右以 0 开始,从右往左以 -1 开始。 Python中的字符串不能改变。 Python 没有单独的字符类型,一个字符就是长度为 1 的字符串。...print(str[0]) # 输出字符串第一个字符 print(str[2:5]) # 输出从第三个开始到第五个的字符 print(str[2:])
2、文件迭代器 回忆一下之前章节,文件访问方式有如下: .read(): 一次性读取全部内容。 .readline(): 一次读取一行。 .readlines(): 生成列表,每一行是每个元素。...f = open() next(f) 这个会从第一行开始读取内容。 从技术角度来讲,迭代协议里,当使用for函数进行迭代时,会传递给iter内置函数,以便可迭代对象中获取迭代器。...any() 函数用于判断给定的可迭代参数 iterable 是否全部为 False,则返回 False,如果有一个为 True,则返回 True。元素除了是 0、空、FALSE 外都算 TRUE。...中新的迭代环境 从Python3.x开始,更注重迭代。...如果各个迭代器的元素个数不一致,则返回列表长度与最短的对象相同,利用 * 号操作符,可以将元组解压为列表。
实例如下: 实例(Python 3.0+) if True: print ("True") else: print ("False") 以下代码最后一行语句缩进数的空格数不一致,会导致运行错误...如 r"this is a line with \n" 则\n会显示,并不是换行。 按字面意义级联字符串,如"this " "is " "string"会被自动转换为this is string。...Python 中的字符串有两种索引方式,从左往右以 0 开始,从右往左以 -1 开始。 Python中的字符串不能改变。 Python 没有单独的字符类型,一个字符就是长度为 1 的字符串。...# 输出字符串第一个字符 print(str[2:5]) # 输出从第三个开始到第五个的字符 print(str[2:]) # 输出从第三个开始后的所有字符 print(str[1:5:2]) # 输出从第二个开始到第五个且每隔一个的字符...类和函数入口之间也用一行空行分隔,以突出函数入口的开始。 空行与代码缩进不同,空行并不是Python语法的一部分。书写时不插入空行,Python解释器运行也不会出错。
实例如下: 实例(Python 3.0+) if True : print ( " True " ) else : print ( " False " ) 以下代码最后一行语句缩进数的空格数不一致...如 r"this is a line with \n" 则\n会显示,并不是换行。 按字面意义级联字符串,如"this " "is " "string"会被自动转换为this is string。...Python 中的字符串有两种索引方式,从左往右以 0 开始,从右往左以 -1 开始。 Python中的字符串不能改变。 Python 没有单独的字符类型,一个字符就是长度为 1 的字符串。...(str[0]) # 输出字符串第一个字符 print(str[2:5]) # 输出从第三个开始到第五个的字符 print(str[2:]) # 输出从第三个开始后的所有字符 print(str[...类和函数入口之间也用一行空行分隔,以突出函数入口的开始。 空行与代码缩进不同,空行并不是Python语法的一部分。书写时不插入空行,Python解释器运行也不会出错。
如果行长到连第一个括号内的参数都放不下,则每个元素都单独占一行: 折叠长行的首选方法是使用Python支持的圆括号、方括号(brackets)和花括号(braces)内的行延续。...方法定义, 类定义与第一个方法之间, 都应该空一行....作为文件的开始 程序的main文件应该以 #!/usr/bin/python2或者 #!/usr/bin/python3开始....导入应该按照从最通用到最不通用的顺序分组: 标准库导入 第三方库导入 应用程序指定导入 所有 import 尽量放在文件开头,在 docstring 下面,其他变量定义的上面 不要使用 from foo...如果子类也叫Foo,那就无能为力了。 类的方法第一个参数必须是self,而静态方法第一个参数必须是cls。
但如果加上 -n 参数后,则只有经过sed 特殊处理的那一行(或者动作)才会被列出来。...最多可以定义9个标签,从左边开始编号,最左边的是第一个。此例中,对第1到第20行进行处理,you被保存为标签1,如果发现youself,则替换为your。 ...如果没有指定地址,sed将处理输入文件的所有行。 地址是一个数字,则表示行号;是“$"符号,则表示最后一行。...$ sed -n '5,/^test/p' example 打印从第五行开始到第一个包含以test开始的行之间的所有行。...从文件读入r命令 $ sed '/test/r file' example file里的内容被读进来,显示在与test匹配的行后面,如果匹配多行,则file的内容将显示在所有匹配行的下面。
的优点是简单易懂、可移植性、可扩展性、可嵌入性,python的缺点,一就是运行速度慢,因为python是解释型语言,代码在执行过程中会一行一行翻译成cpu能理解的机器码;二是代码不能加密,如果要发布python...python是跨平台的,它可以运行在Windows、Linux、Mac系统中,要开始学习python程序,首先需要把python安装到电脑上,从python的官网下载需要安装的软件版本,www.python.org...,Windows系统下安装完毕后 通过cmd命令调取python,exit()退出 第一个python程序 通过python交互器执行程序,最后用exit()退出python,我们第一个python程序完成...python文件,这样程序就能反复运行,创建一个hello.py文件,并输入print("hello world") 进入指定目录通过python hello.py命令打开程序 如果你在学习Python...,则返回True,否则为Falsenot in 如果在指定的序列中没有找到值,返回True,否则为False 身份运算is is是判断两个标识符是不是引用一个对象is not is not 是判断两个标识符是不是引用不同对象
领取专属 10元无门槛券
手把手带您无忧上云