python基础(4)- 常用模块

本文介绍了Python的基础知识,包括模块的定义与引用,如OS模块的常用函数,以及文件I/O操作的三种方式。此外,还讲解了HTTP协议的基本概念,并演示了使用requests库进行HTTP请求的方法,包括GET、POST等方法,以及如何处理响应数据。通过这些内容,读者可以对Python编程的常用模块和网络请求有初步理解。
摘要由CSDN通过智能技术生成

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)写入文件列表
  1. requests模块
    4.1 http协议

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值