Python

python笔记(持续更新ing

1.写入文件
with open(‘url’, mode=’’, excoding=‘utf-8’) as f:
f.write(text)

2.爬虫

import requests
response = requests.get(url, headers=headers, proxies=proxies, cookies=cookies)
response.encoding = 'utf-8'
content = response.text()

报错:
SSLError: HTTPSConnectionPool(host=’’, port=443):
Requests 可以为 HTTPS 请求验证 SSL 证书,就像 web 浏览器一样。SSL 验证默认是开启的,如果证书验证失败,Requests 会抛出 SSLError:

requests.get(url,verify=False)

3.连接数据库(mysql)

import pymysql

#数据库信息
config = {
    "host": "",
    "user": "",
    "password": "",
    "database": "",
    "charset": "utf8"
}
params = (a,b,c)
sql = "insert table(a,b,c) values(%s,%s,%s)"
db = pymysql.connect(**config )  #连接数据库,可以用变量或者参数形式
cursor = db.cursor()  #创建游标,实际调用了cursors模块下的Cursor类,用来和db交互
try:
	#执行单条sql,若要批量执行使用executemany(sql,params),params用元组形式
	cursor.execute(sql,params)  
except Execption as e;
	db.rollback()  #事务回滚
else:
	db.commit()  #增删改数据需要提交

cursor.close()  #关闭游标
db.cursor()  # 关闭数据库

4.日志
import logging

#创建Logger对象,日志记录的工作主要由Logger对象来完成
logger = logging.getLogger(‘logName’)
#日志一共分成5个等级,从低到高分别是:DEBUG INFO WARNING ERROR CRITICAL。
logger.setLevel(logging.INFO)
fh = logging.FileHandler() #日志输出到文件
sh = logging.StreamHandler #日志输出到流
#format指定输出的格式和内容
#%(levelname)s:打印日志级别的名称
#%(filename)s:打印当前执行程序名
#%(funcName)s:打印日志的当前函数
#%(asctime)s:打印日志的时间
#%(message)s:打印日志信息
formatter = logging.Formatter(’%(asctime)s-%(filename)s-%(levelname)s-%(message)s’)
fh.setFormatter(formatter)
logger.addHandle(fh)
#5个等级,分别对应5种打日志的方法: debug 、info 、warning 、error 、critical
logger.info(“要输出的日志信息”)

5.链接hive
pip install pyhive

from pyhive import hive

conn = hive.Connection(host='', database='', username='', port=10000, auth='NOSASL')
cursor = conn.cursor()
cursor.execute('')

执行报错:

ModuleNotFoundError: No module named 'sasl'

cmd下安装sasl
pip install sasl

报错

 error: Microsoft Visual C++ 14.0 is required. Get it with "Microsoft Visual C++ Build Tools": https://visualstudio.microsoft.com/downloads/

下载sasl‑0.2.1‑cp36‑cp36m‑win_amd64.whl (cp36代表对应Python版本3.6)
地址:https://www.lfd.uci.edu/~gohlke/pythonlibs/
再次安装
pip install d:/sasl‑0.2.1‑cp36‑cp36m‑win_amd64.whl
pip list # 成功安装sasl

–还需要以下依赖包
pip install thrift
pip install thrift_sasl

报错

在这里插入代码片

查看Thrift Server
ps -aux | grep hiveserver2

查看thrift port
netstat -nl | grep 10000

6.zip解压缩

–解压.zip

import os
import sys
import zipfile

print("Processing File " + sys.argv[1])

file=zipfile.ZipFile(sys.argv[1],"r")  # "r":解压缩;"w":压缩
for name in file.namelist():
	# zipfile会将所有文件名用CP437来编码
	# 先用CP437编码encode成 bytes,再以gbk格式解码成中文string
    utf8name=name.encode('cp437').decode('gbk')
    pathname = os.path.dirname(utf8name)
    if not os.path.exists(pathname) and pathname!= "":
        os.makedirs(pathname)
    data = file.read(name)
    if not os.path.exists(utf8name):
        fo = open(utf8name, "wb")
        fo.write(data)
        fo.close
file.close()

–执行代码
python3 jieya.py *.zip

7.遍历文件

import os

path = ""  # 文件夹路径
list = os.listdir(path)  # 文件名列表
for i in range(len(list)):
	file_name = list[i]  # 文件名
	list_dir = os.path.join(path, list[i])  # 文件完整路径
	if os.path.isfile(list_dir):
		cont = open(list_dir, mode='r', encoding='utf-8')  # 打开文件
		read_lines = cont.readlines()  # 读取文件
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值