python常用模块
这是python基础的最后一个文档,后续的更多是公司实际的使用,就不能上传文档了。
1.1 什么是模块
Python 模块(Module),是一个 Python 文件,以 .py 结尾,包含了 Python 对象定义和Python语句。
1.2 模块引用
#定义类
class Car:
def __init__(self,name):
# 属性
self.name = name
#方法
def getCarInfo(self):
print("这是一辆%s牌汽车"%self.name)
def move(self)
print("车正在移动")
import/from…import /from…import*
2. OS模块
import os
os.path.exists("") #检测文件或目录是否存在
os.path.isfile("") #判断是否为文件
os.path.isdir("") #判断是否为目录
os.path.basename("") #返回不包含所在目录的文件名
os.path.dirname("") #返回文件所在目录
os.path.split("") # 返回一个元组。元组第一个元素为文件所在目录,第二个元素为文件名(含扩展)。等效于 (dirname(path), basename(path)).
os.path.splitext("") # 返回一个元组。元组第一个元素为文件所在目录和文件名(不含扩展),第二个元素为扩展名(包含 .)。
os.path.join() # 将路径不同部分拼接成一个完整的路径
os.listdir()[:] # 列表为给定目录下所有文件和子目录,但不包含特殊目录
os.mkdir("new") # 创建名为 path 的目录
os.makedirs("parent/child/new") #递归方式创建路径为 path 的目录。
os.rmdir("new") # 删除目录。目录必须存在,并且只能删除空目录。
os.removedirs("parent/child/newdir") # 递归删除目录。目录必须存在,并且只能删除空目录。
os.remove("") # # 删除文件
os.system(command) # 执行cmd指令
3. 文件IO
打开方式1
f = open("test.txt",mode = "w", encoding = 'utf-8') # 打开文件
# ... 执行文件操作
f.close() # 关闭文件
模式 | 描述 |
---|---|
t | 文本模式 (默认)。 |
x | 打开独占创建,如果文件已经存在,则失败。 |
b | 二进制模式。 |
+ | 打开一个用于更新(读取和写入)的文件 |
r | 以读方式打开文件,可读取文件信息(默认) |
w | 以写方式打开文件,可向文件写入信息(清空该文件,再写入新内容)。若文件不存在,则创建。 |
a | 以追加方式打开文件(写入的数据会被加到文件末尾,即:文件原先的内容会被保留)。若文件不存在,则创建。 |
ab+ | ? |
打开方式2
try:
f = open("test.txt", encoding = 'utf-8')
# 执行文件操作
finally:
f.close()
打开方式3
with open("test.txt", encoding = 'utf-8') as f:
# 执行文件操作
方法 | 描述 |
---|---|
close() | 关闭一个打开的文件。如果文件已经关闭,则没有效果。 |
read(n) | 从文件中读出最多 n 个字符。如果是负数的或不指定,则读到文件的末尾。 |
readline(n=-1) | 从文件读取并返回一行。如果指定,最多读取 n 个字节。 |
readlines(n=-1) | 从文件中读取并返回列表行。如果指定,最多读取 n 个字符。 |
write(s) | 将字符串 s 写入文件,并返回写入的字符数。 |
writelines(lines) | 写入文件列表 |
HTTP
协议(超文本传输协议HyperText Transfer Protocol),它是基于TCP协议的应用层传输协议,简单来说就是客户端和服务端进行数据传输的一种规则。
[http协议](关于HTTP协议,一篇就够了 - ranyonsue - 博客园 (cnblogs.com))
4.2 requests
import requests
requests.post('')
requests.put('')
requests.delete('')
requests.head('')
requests.options('')
import requests
response = requests.get('')
print(response.text)
带参数请求
import requests
response = requests.get("http://httpbin.org/get?name=germey&age=22")
print(response.text)
{
"args": {
"age": "22",
"name": "germey"
},
"headers": {
"Accept": "*/*",
"Accept-Encoding": "gzip, deflate",
"Connection": "close",
"Host": "httpbin.org",
"User-Agent": "python-requests/2.18.4"
},
"origin": "183.64.61.29",
"url": "http://httpbin.org/get?name=germey&age=22"
}
或者用params的方式
import requests
data = {
'name': 'germey',
'age': 22
}
response = requests.get("http://httpbin.org/get", params=data)
print(response.text)
响应
import requests response = requests.get('')print(type(response.status_code), response.status_code)print(type(response.headers), response.headers)print(type(response.cookies), response.cookies)print(type(response.url), response.url)print(type(response.history), response.history)return:<class 'int'> 200<class 'requests.structures.CaseInsensitiveDict'> {'Date': 'Thu, 01 Feb 2018 20:47:08 GMT', 'Server': 'Tengine', 'Content-Type': 'text/html; charset=utf-8', 'Transfer-Encoding': 'chunked', 'X-Frame-Options': 'DENY', 'X-XSS-Protection': '1; mode=block', 'X-Content-Type-Options': 'nosniff', 'ETag': 'W/"9f70e869e7cce214b6e9d90f4ceaa53d"', 'Cache-Control': 'max-age=0, private, must-revalidate', 'Set-Cookie': 'locale=zh-CN; path=/', 'X-Request-Id': '366f4cba-8414-4841-bfe2-792aeb8cf302', 'X-Runtime': '0.008350', 'Content-Encoding': 'gzip', 'X-Via': '1.1 gjf22:8 (Cdn Cache Server V2.0), 1.1 PSzqstdx2ps251:10 (Cdn Cache Server V2.0)', 'Connection': 'keep-alive'}<class 'requests.cookies.RequestsCookieJar'> <RequestsCookieJar[<Cookie locale=zh-CN for 简书 - 创作你的创作>]><class 'str'> <class 'list'> [<Response [301]>]
对以上内容有一定了解后,自行学习文件上传和cookies