python基础学习总结day05
1.file
a.打开文件方式(读写两种方式)
1.打开文件
使用open函数,可以打开一个已经存在的文件,或者创建一个新文件。
open(文件名,访问模式)
访问模式 | 说明 |
---|---|
r | 以只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式。 |
w | 打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。 |
a | 打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。 |
rb | 以二进制格式打开一个文件用于只读。文件指针将会放在文件的开头。这是默认模式。 |
wb | 以二进制格式打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。 |
ab | 以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。 |
r+ | 打开一个文件用于读写。文件指针将会放在文件的开头。 |
w+ | 打开一个文件用于读写。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。 |
a+ | 打开一个文件用于读写。如果该文件已存在,文件指针将会放在文件的结尾。文件打开时会是追加模式。如果该文件不存在,创建新文件用于读写。 |
rb+ | 以二进制格式打开一个文件用于读写。文件指针将会放在文件的开头。 |
wb+ | 以二进制格式打开一个文件用于读写。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。 |
ab+ | 以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。如果该文件不存在,创建新文件用于读写。 |
2.关闭文件
close( )
# 新建一个文件,文件名为:test.txt
f = open('test.txt', 'w')
# 关闭这个文件
f.close()
3.写文件(write)
使用write()可以完成向文件写入数据
f = open('test.txt', 'w')
f.write('hello world, i am here!')
f.close()
4.读文件(read,readlines,readline)
使用read(num)可以从文件中读取数据,num表示要从文件中读取的数据的长度(单位是字节),如果没有传入num,那么就表示读取文件中所有的数据
f = open('test.txt', 'r')
content = f.read(5)
print(content)
print("-"*30)
content = f.read()
print(content)
f.close()
就像read没有参数时一样,readlines可以按照行的方式把整个文件中的内容进行一次性读取,并且返回的是一个列表,其中每一行的数据为一个元素。readlines()方法读取整个文件所有行,保存在一个列表(list)变量中,每行作为一个元素,但读取大文件会比较占内存
#coding=utf-8
f = open('test.txt', 'r')
content = f.readlines()
print(type(content))
i=1
for temp in content:
print("%d:%s"%(i, temp))
i+=1
f.close()
readline从字面意思可以看出,该方法每次读出一行内容,所以,读取时占用内存小,比较适合大文件,该方法返回一个字符串对象。
#coding=utf-8
f = open('test.txt', 'r')
content = f.readline()
print("1:%s"%content)
content = f.readline()
print("2:%s"%content)
f.close()
b.文件对象的操作
c.学习对excel及csv文件进行操作
2.os模块
Python os模块包含普遍的操作系统功能。
操作 | 解释 |
---|---|
os.name | 输出字符串指示正在使用的平台 |
os.getcwd() | 函数得到当前工作目录,即当前Python脚本工作的目录路径 |
os.listdir() | 返回指定目录下的所有文件和目录名 |
os.remove() | 删除一个文件 |
os.system() | 运行shell命令 |
os.sep | 取代操作系统特定的路径分割符 |
os.linesep | 字符串给出当前平台使用的行终止符 |
os.path.split() | 函数返回一个路径的目录名和文件名 |
os.path.isfile() | 检验给出的路径是一个文件 |
os.path.isdir() | 检验给出的路径是一个目录 |
os.path.exists() | 检验给出的路径是否真地存在 |
os.path.abspath(name) | 获得绝对路径 |
os.path.getsize(name) | 获得文件大小,如果name是目录返回0L |
os.path.join(path,name) | 连接目录与文件名或目录 |
os.path.basename(path) | 返回文件名 |
os.path.dirname(path) | 返回文件路径 |
3.datetime模块
datatime模块重新封装了time模块,提供更多接口,提供的类有:date,time,datetime,timedelta,tzinfo。
d1 = date(2011,06,03)#date对象
d1.year、date.month、date.day:年、月、日;
d1.replace(year, month, day):生成一个新的日期对象,用参数指定的年,月,日代替原有对象中的属性。(原有对象仍保持不变)
d1.timetuple():返回日期对应的time.struct_time对象;
d1.weekday():返回weekday,如果是星期一,返回0;如果是星期2,返回1,以此类推;
d1.isoweekday():返回weekday,如果是星期一,返回1;如果是星期2,返回2,以此类推;
d1.isocalendar():返回格式如(year,month,day)的元组;
d1.isoformat():返回格式如'YYYY-MM-DD’的字符串;
d1.strftime(fmt):和time模块format相同。
datetime.today():返回一个表示当前本地时间的datetime对象;
datetime.now([tz]):返回一个表示当前本地时间的datetime对象,如果提供了参数tz,则获取tz参数所指时区的本地时间;
datetime.utcnow():返回一个当前utc时间的datetime对象;#格林威治时间
datetime.fromtimestamp(timestamp[, tz]):根据时间戮创建一个datetime对象,参数tz指定时区信息;
datetime.utcfromtimestamp(timestamp):根据时间戮创建一个datetime对象;
datetime.combine(date, time):根据date和time,创建一个datetime对象;
datetime.strptime(date_string, format):将格式字符串转换为datetime对象;
4.类和对象
对象是面向对象编程的核心,在使用对象的过程中,为了将具有共同特征和行为的一组对象抽象定义,提出了另外一个新的概念——类。
定义类:
class 类名:
方法列表
demo:
# 定义类
class Car:
# 方法
def getCarInfo(self):
print('车轮子个数:%d, 颜色%s'%(self.wheelNum, self.color))
def move(self):
print("车正在移动...")
注意:
定义类时有2种:新式类和经典类,上面的Car为经典类,如果是Car(object)则为新式类
类名 的命名规则按照"大驼峰"`
创建对象:
对象名 = 类名()
5.正则表达式
正则表达式是一种用来匹配字符串的强有力的武器。它的设计思想是用一种描述性的语言来给字符串定义一个规则,凡是符合规则的字符串,我们就认为它“匹配”了,否则,该字符串就是不合法的。
正则表达式规则链接
6.re模块
- re.match 尝试从字符串的起始位置匹配一个模式,如果不是起始位置匹配成功的话,match()就返回none
函数语法:
re.match(pattern, string, flags=0) - re.search 扫描整个字符串并返回第一个成功的匹配。
. 函数语法:
re.match(pattern, string, flags=0)
7.http请求
HTTP协议(超文本传输协议): 是一种发布和接收HTML页面的方法。
HTTPS: 简单讲就是HTTP的安全版,在HTTP下加入SSL层。
浏览器发送HTTP请求的过程:
1)当用户在浏览器的地址栏输入一个URL后,浏览器会向HTTP服务器发送HTTP请求,主要分为Get和 Post两种方法。
2)当我们在浏览器输入URL http://www.baidu.com 的时候,浏览器发送一个Request请求去获取网站的HTML文件,服务器把Response文件对象发送给浏览器。
3)浏览器分析Response中的HTML,发现其中引用了很多其他文件,浏览器会自动再次发送Request去获取其他文件。
4)当所有的文件都下载成功后,网页会根据HTML语法结构,完整的显示出来。
URL: 统一资源定位符,用于描述网页和其他资源地址的一种标示方法。
基本格式:scheme://host[:port#]/path/…/[?query-string][#anchor]
scheme: 协议(例如:http, https, ftp)
host: 服务器的ip地址或者域名
port#: 服务器端口(如果是走默认协议端口,缺省80)
path: 访问资源的路径
query-string: 参数,发送给http服务器的数据
anchor: 锚(跳转到网页的指定锚点为止)
HTTP1.1:完善的请求/响应模型,并将协议补充完整,请求方法如下。