为了对前面学习的内容进行一个系统化的应用,老猿写了一个程序来进行文件相关操作功能的测试. 一. 测试程序说明 该程序允许测试人员选择一个文件,自己输入文件打开模式.写入文件的位置以及写入内容,程序按照输入尝试进行文件打开和写入,当打开异常或定位文件写入位置异常时会要求重新选择.最后写入文件时判断文件打开模式是否为二进制,以确认写入时的数据是否需要进行编码处理. 二. 老猿验证的一些结论 xwa模式不能一起出现: w模式写入,会覆盖原文件,如果指定偏移量就在对应偏移位置直接写,前面内容直接为ASC…
本文中所有案例中的fp都是使用open函数打开文件返回的一个文件对象,为了节省篇幅,大部分没有提供文件打开的代码. 一. 文件是否关闭的属性 属性名:closed 功用:判断文件是否关闭 示例: >>> fp = open(r"c:\temp\test.txt","r") >>> fp.closed False 二. 文件关闭close 调用语法:close() 功能:将缓存内容刷新到存储,并关闭文件 示例:fp.close()…
匹配对象是Python中re模块正则表达式匹配处理的返回结果,用于存放匹配的情况.老猿认为匹配对象更多的应该是与组匹配模式的功能对应的,只是没有使用组匹配模式的正则表达式整体作为组0. 为了说明下面的属性和方法,以如下命名组匹配模式串和搜索文本作为例子来介绍: >>> pattern='<h1 class="name">(?P<name>.*)</h1><h1 class="age">(?P<a…
一. 引言 在<第14.10节 Python中使用BeautifulSoup解析http报文:html标签相关属性的访问>介绍了BeautifulSoup对象的主要属性,通过这些属性可以访问标签.内容,但这种方法要么就只能访问符合条件的第一个对象,要么需要遍历访问对象,某些情况下不能通过指定特征快速定位标签和内容.本节将介绍使用BeautifulSoup提供的相关方法快速定位标签和内容的方法.本节继续复用<第14.10节 Python中使用BeautifulSoup解析http报文:ht…
常用的文件操作 1. 打开文件 open,它是一个内置函数,可以直接调用 语法:file object = open(file_name, [access_mode]),这里我们会创建一个file对象 参数:file_name--要访问的文件名称的字符串值,access_mode--决定了打开文件的模式:只读.写入.追加等.这个参数是非强制的,默认文件访问模式为只读(r) 返回值:返回一个文件对象 模 式 解释 r  以只读方式打开文件.文件的指针将会放在文件的开头.这是默认模式 r+ 打开一个…
一. 引言 在<第11.3节 Python正则表达式搜索支持函数search.match.fullmatch.findall.finditer>重点介绍了几个搜索函数,除了搜索,re模块也提供搜索并替换功能,这个就是re模块的sub函数. 二. 语法释义 调用语法: re.sub(pattern, repl, string, count=0, flags=0) re.subn(pattern, repl, string, count=0, flags=0) 参数: 1)pattern:匹配的正…
一. 引言 在<第11.2节 Python 正则表达式支持函数概览>介绍了re模块的主要函数,在<第11.3节 Python正则表达式搜索支持函数search.match.fullmatch.findall.finditer>重点介绍了几个搜索函数,后续章节将介绍re模块的其他函数,本节先介绍re.split函数的功能. 二. 语法释义 调用语法: re.split(pattern, string, maxsplit=0, flags=0) 参数及返回结果释义: 1)这个函数的功能…
引言: 关于java IO流的操作是非常常见的,基本上每个项目都会用到,每次遇到都是去网上找一找就行了,屡试不爽.上次突然一个同事问了我java文件的读取,我一下子就懵了第一反应就是去网上找,虽然也能找到,但自己总感觉不是很踏实,所以今天就抽空看了看java IO流的一些操作,感觉还是很有收获的,顺便总结些资料,方便以后进一步的学习... IO流的分类:1.根据流的数据对象来分:高端流:所有的内存中的流都是高端流,比如:InputStreamReader  低端流:所有的外界设备中的流都是低端流…
一. re.compile函数 正则表达式编译函数,在后面章节专门介绍. 二. re.escape(pattern) re.escape是一个工具函数,用于对字符串pattern中所有可能被视为正则表达式运算符的字符进行转义.使用这个函数的情况有:字符串很长,其中包含大量特殊字符,而你不想输入大量的反斜杠:从用户那里获取了一个字符串(例如,通过函数input),想将其用于正则表达式中,此时对特殊字符的位置是不可预知的,调用re.escape就可以解决这些不可预知的状况.但如果pattern中已经…
一. os模块概述 python os模块提供了非常丰富的方法用来处理文件和目录 二. 导入os模块: import os 三. 常用方法 1. os.name 输出字符串表示正在使用的平台,如果是windows则用"nt"表示,如果是Linux/Unix,是"posix" import os print(os.name) 结果: nt 2. os.getcwd()  得到当前的工作目录,即当前python脚本工作的目录路径 import os print(os.g…