python相关

摘要:
Python相关1.文件相关操作1.os.path。dirname获取文件路径2.os.path。doin文件路径拼接3.os.path。存在判断文件或文件夹是否存在4.os。makers递归创建目录5.打开(file_name[,access_mode][,缓冲])文件操作5-1文件操作模式5-2文件操作api 2.网络请求1.请求模块1-1.req
python相关

一、文件相关操作

1. os.path.dirname 获取文件路径

print(os.path.dirname('W:Python_File	est.py'))
# 结果: W:Python_File

print(os.path.dirname('/a/b')
# 结果: /a

print(os.path.dirname('/a/b/'))
# 结果: /a/b

print(os.path.dirname(__file__))
# 输出当前执行文件所在的路径地址

2. os.path.join 文件路径拼接

file_path = os.path.join('/test','pdf','test.pdf')
# file_path = '/test/pdf/test.pdf'

3. os.path.exists 判断文件或文件夹是否存在

# 如果不存在文件夹,则创建
if not os.path.exists(dir_name)
   os.makedirs(dir_name)

4. os.makedirs 递归创建目录

如果目录已存在,则报错

5. open(file_name [, access_mode][, buffering]) 文件操作

  • 完整的文件操作
    open(file, mode='r', buffering=-1, encoding=None, errors=None, newline=None, closefd=True, opener=None)
    • file: 必需,文件路径(相对或者绝对路径
    • mode: 可选,文件打开模式,包括只读r,只写w,读写w+,追加模式a+等
    • encoding: 一般使用utf-8
with open('./pdf/test.txt','a+',encoding='utf-8') as file:
	file.write('abc')

5-1. 文件操作的模式

模式描述
r已只读模式打开文件,指针在开头.默认模式
b二进制模式
w打开一个文件只用于写入,指针在开头.文件不存在则新建
w+读写,指针在开头,文件不存在则创建
r+读写,指针在开头,文件不存在则报错
a+追加模式,文件不存在则创建

常用的文件操作模式

5-2. 文件操作api

  • file.read([size])读取指定字节,如果未指定或为负数则读取所有
  • file.readlines([size])读取整行
  • file.write(str) 写入字符串,返回写入的字符长度
  • file.tell()返回文件当前位置
  • file.seek(offset[,whence])移动文件指针到指定位置
    • offset: 偏移量,如果为负数表示倒数
    • whence: 表示从哪个位置开始偏移,0代表从文件开头开始算,1代表从当前位置开始算,2代表从文件末尾开始算
二、网络请求

1. requests模块

1-1. requests.request(method, url, **kwargs)

# **kwargs: 当你传入key=value时存储的字典
# request方法的定义如下,
# 可以看出实际上是调用session.request方法.
def request(method, url, **kwargs):
	with sessions.Session() as session:
			return session.request(method=method, url=url, **kwargs)

1-2. sessions.Session().request请求参数介绍

  • mothod 请求方式,
  • url
  • params
  • data
  • json
  • headers
  • cookies
  • files
  • auth
  • timeout
  • allow_redirects
  • proxies
  • stream
  • verify
  • cert

1-3. requests.get(url, params, **kwargs)

# get方法定义
def get(url, params=None, **kwargs):
	kwargs.setdefault('allow_redirects', True)
    return request('get', url, params=params, **kwargs)

1-4. requests.post(url, data, json, **kwargs)

# post方法定义
def post(url, data=None, json=None, **kwargs):
    return request('post', url, data=data, json=json, **kwargs)
三、json模块

1. json.dumps(py_obj) 将py对象转换为json_str

2. json.loads(json_str) 将josn_str转换为py对象

3. json.dumps(py_obj,file) 将py对象转换成json_str写入file文件中

4. json.load(file) 将file文件中的数据转换为py对象

四、Mysql模块

1. import pymysql 导入pymysql包

2. db = pymysql.connect(...)连接数据库

db = pymysql.connect(host="localhost", user="root", password="root", database="test")

3. cursor = db.cursor() 游标

3-1. cursor.execute(sql_str) 执行sql,并将结果保存在cursor中

3-2. cursor.fetchone() 获取游标中的一个结果

3-3. cursor.fetchall() 获取所有结果

4. pymysql.converters.escape_string(str)字符串双引号单引号处理

5. 使用案例

import pymysql
db = pymysql.connect(host="localhost", user="root", password="root", database="test")
cursor = db.cursor()
select_sql_str = 'select id, name, age from person'
cursor.execute(select_sql_str)
row = cursor.fetchone()
id = row[0]
name = row[1]

insert_sql_str = "insert into person(name,age) values ('%s', %s)" % (name, age)
try:
	cursor.execute(insert_sql_str)
	db.commit()
except:
	db.rollback()
db.close()

免责声明:文章转载自《python相关》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Web应用程序安全与风险webpack打包将配置文件单独抽离不压缩打包下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

python的pip安装超时问题解决

使用pip install 安装python第三方库时出现了如下错误:pip._vendor.urllib3.exceptions.ReadTimeoutError: HTTPSConnectionPool(host=‘files.pythonhosted.org’, port=443): Read timed out.  原因分析: 使用pip下载pyt...

python自动化之UI自动化框架搭建二(关键字驱动)

九、修改util报中的WaitUtil.py文件,如:iframe弹框;根据实际情况判断是否使用 # encoding=utf-8 from selenium.webdriver.common.by import By from selenium.webdriver.support.ui import WebDriverWait from seleniu...

关于python中带下划线的变量和函数 的意义

总结: 变量: 1. 前带_的变量: 标明是一个私有变量, 只用于标明,外部类还是可以访问到这个变量 2. 前带两个_ ,后带两个_ 的变量: 标明是内置变量, 3. 大写加下划线的变量: 标明是不会发生改变的全局变量 函数: 1. 前带_的变量: 标明是一个私有函数, 只用于标明, 2.前带两个_ ,后带两个_ 的函数: 标明是特殊函数 Pyth...

python基础知识(理论)

一、运算符1.算数运算符 + - * / % ** //2**10 2的10次方4.2 // 2 == 2 只取整数部分,取商的整数部分py2 4.2 / 2 ==2py3 4.2 / 2 == 2.1二、赋值运算= 简单赋值+= 加法赋值运算-= 减法赋值运算*= 乘法赋值运算/= 除法赋值运算%=...

python netifaces模块

简介 在Linux系统中,我们可以通过ifconfig,route等shell命令来查看系统接口配置,网关和路由等信息。通过shell的正则表达式功能,通过系列复杂操作,我们可以从字符串中提取出相关的信息。现在,通过Python的netifaces模块,可以很容易的获取这些信息。本文主要介绍netifaces的使用。 安装 可以在Python官网上去下...

2019-2020-2 20175320 《网络对抗技术》Exp3 后门原理与实践

2019-2020-2 20175320 《网络对抗技术》Exp3 后门原理与实践 一、实验要求 了解metasploit、veil、加壳工具的使用方法,并利用以上软件实现后门程序与杀软之间的共存,并利用后门程序获取被攻击方的shell。 二、实验目标 1、正确使用msf编码器 2、msfvenom生成如jar之类的其他文件 3、使用veil进行免杀处理...