天天看点

python基础学习第五天

一、 文件:因为懂你,所以永恒

a) 文件打开方式

1) 文件打开用 open() 函数,open()函数有许许多多的参数,对于初学者而言,只需记住两个常用的即可。 open ( file , mode = ’ 打开模式 ')。

f = open (‘E://python学习//text’ , ‘r’ )

‘r’ 为默认打开模式,意为以只读方式打开

E://python学习 为文件路径(win系统), // 用于分隔路径,text是文件名

表一为文件的打开模式

r 以只读方式打开文件(默认)
w 以写入的方式打开文件(会删除原文件所有内容)
a以追写模式打开文件 给文件追加内容

2)文件对象的操作方法

注:读取文件内容时需要打开文件时以只读的方式打开文件,否则会报错

close() 关闭文件
read(size) 读取文件内容(当不设置size时,会读取全部内容,指针指向文件末尾)
readline() 读取一整行内容,从文件指针向后读取,直到遇到换行符 /n 停止读取
write() 将字符串写入文件(注意以 w 或 a 的方式打开文件)
seek(offset,from) 在文件中移动指针,从from(0代表文件起始位置,1代表当前位置,2代表文件末尾)偏移offset个字节
tell() 返回当前在文件中的位置

f = open (‘E://python学习//text’ , ‘a’ )

f.write(“每一个不曾起舞的日子,都是对生活的辜负”)

19

f.close()

f = open (‘E://python学习//text’ )

f.read()

每一个不曾起舞的日子,都是对生活的辜负

f.tell()

38

f.seek(0,0)

  1. 学习对excel及csv文件进行操作

    1、csv文件

    1.1 csv文件的概念

    csv文件是逗号分隔文件格式,一般用 wordpad 或记事本打开,cxcel 打开。csv(逗号分隔值)是一种用来存储数据的纯文本文件,通常都是用于存放电子表格或数据的一种文件格式。

    1.2 读写csv文件

import csv

#读取csv文件内容方法1

csv_file = csv.reader(open(‘zxc.csv’,‘r’))

next(csv_file,None)

for user in csv_file:

print(user)

读取csv文件方法2

with open(‘testdata.csv’,‘r’) as csv_file:

reader = csv.reader(csv_file)

next(csv_file , None)

for user in reader:

print ( user )

2、 excel文件

使用 pandas 包

import pandas as pd

二、os模块

import os

#导入os模块

getcwd() 返回当前工作目录
chdir() 改变工作路径
listdir (列举指定目录中的文件)
mkdir() 创建文件夹(若该文件夹存在则抛出异常)
remove() 删除文件
rmdir() 删除目录
rename( old ,new ) 重命名文件夹或文件
walk() 查看指定路径的所有子目录

三、datetime模块

1、 datetime模块是python处理日期和时间的标准库。

from datetime import datetime

now = datetime.now() #获取当前时间

print(now)

2019-03-07 20:12:07.173555

print ( type ( now ) )

class ‘datetime.datetime’

注意到 datetime 是模块, datetime 模块还包含一个 datetime 类, 通过from datetime import datetime 导入,如果仅导入 import datetime , 则必须使用全名 datetime。datetime。

四、类和对象

1、 对象 = 属性 + 方法

一个对象的特征称为“属性”,一个对象的行为称为“方法”,例如描述一个人,属性就是她的外观,胸大屁股翘,大长腿,白皮肤,方法就是唱歌,跳舞等。

class Tyrtle

#python中的类名都以大写字母开头

color = ‘green’

weight = 10

legs = 4

mouth = ‘大嘴’

以上代码定义了对象的特征和方法,但还不是一个完整的对象,将定义的这些称为‘类’。需要使用类来创建一个真正的对象,这个对象就叫做这个类的一个实例,也叫做实例对象。

五、正则表达式

字符串是编程时涉及到的最多的一种数据结构,

对字符串进行操作的需求几乎无处不在。

比如判断一个字符串是否是合法的Email地址,

虽然可以编程提取@前后的子串,

再分别判断是否是单词和域名,

但这样做不但麻烦,

而且代码难以复用。

正则表达式是一种用来匹配字符串的强有力的武器。

它的设计思想是用一种描述性的语言来给字符串定义一个规则,

凡是符合规则的字符串,

我们就认为它“匹配”了,

否则,该字符串就是不合法的。

所以我们判断一个字符串是否是合法的Email的方法是:

创建一个匹配Email的正则表达式;

用该正则表达式去匹配用户的输入来判断是否合法。

因为正则表达式也是用字符串表示的,所以,我们要首先了解如何用字符来描述字符。

在正则表达式中,如果直接给出字符,就是精确匹配。用\d可以匹配一个数字,\w可以匹配一个字母或数字,所以:

‘00\d’可以匹配’007’,但无法匹配’00A’;

‘\d\d\d’可以匹配’010’;

‘\w\w\d’可以匹配’py3’;

六、re模块

不同的语言均有使用正则表达式的方法,但各不相同。python是通过re模块来实现的。

import re

re.search(r’Zxc’,‘I love python’)

Python提供re模块,包含所有正则表达式的功能。

由于Python的字符串本身也用\转义,

所以要特别注意:s = ‘ABC\-001’ # Python的字符串

#对应的正则表达式字符变成:‘ABC-001’

因此强烈建议使用Python的r前缀,就不用考虑转义的问题了。

七、http请求

1) 在Web应用中,服务器把网页传给浏览器,实际上就是把网页的HTML代码发送给浏览器,让浏览器显示出来。而浏览器和服务器之间的传输协议是HTTP。

2)HTTP请求的流程:(以跟踪新浪首页为例)

步骤1:浏览器首先向服务器发送HTTP请求,请求包括:

方法:GET还是POST,GET仅请求资源,POST会附带用户数据;

路径:/full/url/path;

域名:由Host头指定:Host: www.sina.com.cn

以及其他相关的Header;

如果是POST,那么请求还包括一个Body,包含用户数据。

步骤2:服务器向浏览器返回HTTP响应,响应包括:

响应代码:200表示成功,3xx表示重定向,4xx表示客户端发送的请求有错误,5xx表示服务器端处理时发生了错误;

响应类型:由Content-Type指定;

以及其他相关的Header;

通常服务器的HTTP响应会携带内容,也就是有一个Body,包含响应的内容,网页的HTML源码就在Body中。

步骤3:如果浏览器还需要继续向服务器请求其他资源,比如图片,就再次发出HTTP请求,重复步骤1、2。

Web采用的HTTP协议采用了非常简单的请求-响应模式,从而大大简化了开发。当我们编写一个页面时,我们只需要在HTTP请求中把HTML发送出去,不需要考虑如何附带图片、视频等,浏览器如果需要请求图片和视频,它会发送另一个HTTP请求,因此,一个HTTP请求只处理一个资源。

继续阅读