python
python
西奥斯
这个作者很懒,什么都没留下…
展开
-
linux定时任务crontab使用介绍
linux定时任务crontab原创 2022-10-31 15:13:46 · 533 阅读 · 0 评论 -
pyspark union、unionAll、unionByName用法区别
方法说明:union: 两个df合并,但是不按列名进行合并,而是位置,列名以前表为准(a.union(b) 列名顺序以a为准),会对重复数据进行去重unionAll:同union方法(PySpark中两者的行为都相同)unionByName:合并时按照列名进行合并,而不是位置...原创 2022-05-20 15:05:25 · 4354 阅读 · 0 评论 -
hive创建临时表
方式一create temporary table 临时表表名 as select * from 表名;hive中的临时表只对当前session有效,session退出后,表会自动删除注:若创建的临时表表名已经存在,那么当前session应用该表名时使用的是你创建的临时表,只有删除或者修改临时表才能使用原先存在的表。临时表不支持分区字段和创建索引方式二with a1 as (select * from A)select * from a1;1.with as 属于一次原创 2022-03-11 10:12:07 · 11088 阅读 · 0 评论 -
pyautogui库自动化控制鼠标和键盘操作
常用操作import pyautogui pyautogui.PAUSE = 1 # 调用在执行动作后暂停的秒数,只能在执行一些pyautogui动作后才能使用,建议用time.sleeppyautogui.FAILSAFE = True # 启用自动防故障功能,左上角的坐标为(0,0),将鼠标移到屏幕的左上角,来抛出failSafeException异常 # 判断(x,y)是否在屏幕上x, y = 122, 244pyautogui.onScreen(x, y) # 结果为true原创 2022-03-02 11:10:26 · 2218 阅读 · 0 评论 -
快速去除列表,集合,字典中的空、空格和None
如果存在非字符串类型(比如int)自己处理类型转换# 列表,集合可用flist = ["A", "", "", "B", "", "C", "", "", "D", "", ' ', None]def filter_element(el): return el and el.strip()new_list = list(filter(filter_element, flist))print(new_list)# ['A', 'C', 'D', 'B']# 字典.原创 2022-02-24 14:42:46 · 918 阅读 · 0 评论 -
pymysql 插入更新字典类型数据
def insert_sql(tableName, key_list): """ :param tableName:表名 :param key_list:key_list:[name,age...]所需字段key :return: """ cols = ", ".join('`{}`'.format(k) for k in key_list) val_cols = ', '.join('%({})s'.format(k) for k in k...原创 2021-11-03 09:57:21 · 964 阅读 · 0 评论 -
pyspark借助jdbc读写mysql数据库
df = spark.read.format('jdbc').options( url='jdbc:mysql://127.0.0.1', dbtable='test02 ', user='root', password='mysql' ).load()df.show() # 也可以传入SQL语句 sql="(select * from test02 where db='test') t"df = spark.read.format('jdbc').o.原创 2021-11-03 09:52:18 · 820 阅读 · 0 评论 -
python获取当前路径、路径下子目录和文件
def file_name(file_dir): for root, dirs, files in os.walk(file_dir): # print(root) # 当前目录路径 # print(dirs) # 当前路径下所有子目录 # print(files) # 当前路径下所有非目录子文件 with open('sql_test', 'a') as f: for x in files: .原创 2021-09-24 18:21:51 · 1778 阅读 · 0 评论 -
spark-submit 详细参数说明
原创 2021-09-24 18:17:15 · 131 阅读 · 0 评论 -
mysql 类型转换
mysql存在两个转型的函数 CAST(字段名 as 需要转换的类型 ) CONVERT(字段名,需要转换的类型)。支持转型的类型:类型 备注 DATE YYYY-MM-DD DATETIME YYYY-MM-DD HH:mm:ss TIME HH:mm:ss DECIMAL 通常用于带小数位 CHAR 固定长度字符串 NCHAR 类型于CHAR一致 SIGNED 一个有符号的64整数...原创 2021-09-09 16:08:40 · 1167 阅读 · 0 评论 -
pyspark.sql.types支持的数据类型与python数据类型
Spark SQL使用时需要有若干“表”的存在,这些“表”可以来自于Hive,也可以来自“临时表”。如果“表”来自于Hive,它的模式(列名、列类型等)在创建时已经确定,一般情况下我们直接通过Spark SQL分析表中的数据即可;如果“表”来自“临时表”,我们就需要考虑两个问题:(1)“临时表”的数据是哪来的?(2)“临时表”的模式是什么?通过Spark的官方文档可以了解到,生成一张“临时表”需要两个要素:(1)关联着数据的RDD;(2)数据模式;也就是说,我们需..原创 2021-09-07 18:30:22 · 2279 阅读 · 0 评论 -
docker容器内pip源更新
创建pip.conf文件$ mkdir ~/.pip$ vim ~/.pip/pip.conf添加以下内容[global]index-url = http://pypi.douban.com/simple[install]use-mirrors =truemirrors =http://pypi.douban.com/simple/trusted-host =pypi.douban.com或者[global]index-url=https://mirrors.aliyun原创 2021-09-07 11:26:54 · 2140 阅读 · 0 评论 -
Linux手动释放内存
1、sync 手动执行sync命令(描述:sync 命令运行 sync 子例程。如果必须停止系统,则运行sync 命令以确保文件系统的完整性。sync 命令将所有未写的系统缓冲区写到磁盘中,包含已修改的 i-node、已延迟的块 I/O 和读写映射文件)2、释放echo 3 > /proc/sys/vm/drop_caches 0:0是系统默认值,默认情况下表示不释放内存,由操作系统自动管理 1:释放页缓存 2:释放dentries和inodes 3:释放所有缓存 .原创 2021-07-22 11:14:00 · 216 阅读 · 0 评论 -
python中组包解包
关于【组包与解包】:组包:python解释器自动将多个数据组装到一个容器中解包:将容器中的多个数据拆出来组包: 解释器把1,2,3自动组包成一个元组,然后赋值给a,a的类型就是元组类型的 a = 1,2,3 # 相当于 a = (1,2,3) print(a) # (1, 2, 3) print(type(a)) # <class 'tuple'>#解包: 解释器会自...原创 2018-12-07 10:51:42 · 934 阅读 · 0 评论 -
python 几种常见的测试框架
python 几种常见的测试框架1. unittest参考文档:https://docs.python.org/3/library/unittest.htmlunittest笔记The unittest unit testing framework was originally inspired by JUnit and has a similar flavor as major...原创 2019-05-14 15:10:06 · 909 阅读 · 0 评论 -
pathlib 相对于os.path更加简单实用
python从3.4开始提供了pathlib,是一种用OO方式处理pathname的新机制。os.path是比较low-level的接口,用string处理pathname。pathlib中主要有两个class,PurePath和Path,后者继承前者。PurePath用来支持对纯粹的pathname的各种操作,不会接触到filesystem。而Path则实现了调用filesystem接口。os和pathlib的对应关系pathlib的常用基本方法Path.cwd() #..原创 2021-07-12 14:27:44 · 819 阅读 · 1 评论 -
celery定时任务常用的cronrab配置
例子 含义 crontab() 每分钟执行 crontab(minute=0, hour=0) 每天午夜执行 crontab(minute=0, hour=’*/3’) 每三个小时执行: 午夜, 3am, 6am, 9am, 正午, 3pm, 6pm, 9pm. crontab(minute=0,hour=’0,3,6,9,12,15,18,21’) 同上 crontab(minute=’*/15’) 每15分钟执行 crontab(day_of_原创 2021-06-11 17:25:49 · 1073 阅读 · 1 评论 -
django orm 中设置读写分离
一、Django的数据库配置 (一)修改settings.py文件关于数据库的配置: Django默认使用sqlite:# Django默认的数据库库,SQLit配置DATABASES = { 'default': { 'ENGINE': 'django.db.backends.sqlite3', # sqlite引擎 'NAME': os.path.join(BASE_DIR, 'db.sqlite3'), }}·再添加一个...原创 2021-05-08 18:20:00 · 7579 阅读 · 1 评论 -
django数据库路由是一个拥有4个方法的类
db_for_read(model, **hints) 对于该model 用哪个数据库来读。 db_for_write(model, **hints) 对于该model用哪个数据库来写。 allow_relation(obj1, obj2, **hints) 是否允许两个对象关联到数据库。 allow_migrate(db, app_label, model_name=None, **hints) 对于指定的app,是否允许对db这个数据库进行migrat...原创 2021-05-08 18:11:32 · 394 阅读 · 0 评论 -
Rest-framework Renderers渲染器
REST framework提供了一个响应类Response,使用该类构造响应对象时,响应的具体数据内容会被转换(render渲染)成符合前端需求的类型。REST framework提供了Renderer渲染器,用来根据请求头中的Accept(接收数据类型声明)来自动转换响应数据到对应格式。如果前端请求中未进行Accept声明,则会采用默认方式处理响应数据,我们可以通过配置来修改默认响应格式。例子:REST_FRAMEWORK = { 'DEFAULT_RENDERER_CLASSE.原创 2021-05-08 16:40:15 · 779 阅读 · 0 评论 -
Django 三种ORM模型继承
抽象类继承第一种抽象继承,创建一个通用父类,为了使父类不会被创建,在抽象父类的Meta中设置abstract=True就可以。子类会继承父类相同的字段.class BaseModel(models.Model): # auto_now_add表示创建对象时,会被设置成当前时间,不需要手动赋值 create_time = models.DateTimeField(auto_now_add=True, verbose_name='创建时间') # auto_now表示创建、修改原创 2021-04-29 18:27:36 · 459 阅读 · 0 评论 -
python全角半角的相互转换
# 转换说明# 全角半角转换说明# 有规律(不含空格):## 全角字符unicode编码从65281~65374 (十六进制 0xFF01 ~ 0xFF5E)# 半角字符unicode编码从33~126 (十六进制 0x21~ 0x7E)## 特例:# 空格比较特殊,全角为 12288(0x3000),半角为 32(0x20)# 正则直接把全角空格替换为半角空格text2 = re.sub('\s+', ' ', str1)## 除空格外,全角/半角按unicode编码原创 2021-04-19 14:04:21 · 2952 阅读 · 0 评论 -
django 模型 unique together 联合约束
unique_together这个元数据是非常重要的一个!它等同于数据库的联合约束!举个例子,假设有一张用户表,保存有用户的姓名、出生日期、性别和籍贯等等信息。要求是所有的用户唯一不重复,可现在有好几个叫“xxx”的,如何区别它们呢?我们可以设置不能有两个用户在同一个地方同一时刻出生并且都叫“xxx”,使用这种联合约束,保证数据库不能重复添加用户。使用unique_together,也就是联合唯一!比如:class Person(models.Model): name =.原创 2021-02-24 11:11:38 · 1831 阅读 · 0 评论 -
centos8安装python3.8.6
python下载地址:https://www.python.org/downloads/source/source code 都是Linux的,然后把下载的压缩包上传到虚拟机里命令下载:wget https://www.python.org/ftp/python/3.8.6/Python-3.8.6rc1.tgz解压缩源码包tar -zxvf Python-3.8.3rc1.tgz进入源码包文件cd python3.8编译安装./configure --prefix=.原创 2021-02-03 16:58:09 · 1563 阅读 · 2 评论 -
解决Nginx出现403 forbidden (13: Permission denied)报错的四种方法
1、由于启动用户和nginx工作用户不一致所致查看nginx的启动用户,发现是nobody,而为是用root启动的命令:ps aux | grep "nginx: worker process" | awk'{print $1}'将nginx.config的user改为和启动用户一致,命令:vi conf/nginx.conf2、缺少index.html或者index.php文件,就是配置文件中index index.html index.htm这行中的指定的文...原创 2021-01-11 10:22:05 · 4300 阅读 · 0 评论 -
ModuleNotFoundError: No module named ‘_ctypes‘问题
python3中有个内置模块叫ctypes,它是python3的外部函数库模块,提供了兼容C语言的数据类型,并通过它调用Linux系统下的共享库(Shared library),此模块需要使用centos7系统中外部函数库(Foreign function library)的开发链接库(头文件和链接库)。由于在centos7(8也不行)系统中没有安装外部函数库(libffi)的开发链接库软件包,所以在安装pip的时候就报了"ModuleNotFoundError: No module named '_ct原创 2020-12-31 15:57:09 · 513 阅读 · 0 评论 -
Django内置的用户权限
做Web的大部分都有一个后台用于管理一些数据的增删改查,而Django 内置了一个权限系统。它提供了为指定的用户和用户组分配权限的方法。它在 Django 管理后台界面里使用,但你也可以在自己的代码中使用它。(图网上找的,django内置的权限差不多就是这样的)1、创建一个Django项目:django-admin startproject 工程名称2、创建子应用:python manage.py startapp 子应用名称创建完子应用需要注册的要不然模型类迁移不会成功原创 2020-12-29 10:28:41 · 3122 阅读 · 1 评论 -
Django系统的User对象属性
Django提供了认证系统,文档资料可参考此链接https://docs.djangoproject.com/zh-hans/3.1/topics/auth/default/Django 验证同时提供身份验证和授权,通常称为身份验证系统,因为这些功能在某种程度上是耦合的Django认证系统中提供了用户模型类User保存用户的数据,默认的User包含以下常见的基本字段: username 必选。 150个字符以内。 用户名可能包含字母数字,_,@,+.和-个字符。在Django更改1..原创 2020-12-25 15:45:51 · 1211 阅读 · 0 评论 -
Django利用已经存在的数据库中的表反向生成对应的Model
django mysql数据库配置 --> settings.py 文件中找到 DATABASES 配置项DATABASES = { 'default': { #'ENGINE': 'django.db.backends.sqlite3', #'NAME': os.path.join(BASE_DIR, 'db.sqlite3'), 'ENGINE': 'django.db.backends.mysql', 'NAME':原创 2020-12-22 11:42:16 · 392 阅读 · 1 评论 -
django 视图缓存cache_page应用
Django官方文档3.1:https://docs.djangoproject.com/zh-hans/3.1/topics/cache/django.views.decorators.cache.cache_page()使用缓存框架的通用办法是缓存视图结果。django.views.decorators.cache定义了一个cache_page装饰器,它将自动缓存视图的响应:from django.views.decorators.cache import cache_page@...原创 2020-12-21 10:54:36 · 1749 阅读 · 1 评论 -
Django的基础视图
View基于主类的基本视图。所有其他基于类的视图都从该基类继承。严格来说,它不是通用视图,因此也可以从导入django.views。示例views.py:from django.views import Viewclass MyView(View): def get(self, request, *args, **kwargs): return HttpResponse('Hello, World!')示例urls.py:from myapp.view原创 2020-12-16 14:50:27 · 147 阅读 · 0 评论 -
Django报错:django.core.exceptions.ImproperlyConfigured: mysqlclient 1.4.0 or newer is required; you ha
django项目执行迁移时报错:django.core.exceptions.ImproperlyConfigured: mysqlclient 1.4.0 or newer is required; you ha在Django的工程同名子目录的__init__.py文件中添加如下语句import pymysqlpymysql.version_info = (1, 4, 0, "final", 0)pymysql.install_as_MySQLdb()主要是这句话..原创 2020-12-14 16:51:07 · 263 阅读 · 0 评论 -
Django开发常用30个软件包
Django是一款高级的Python Web框架,可以帮助开发者快速创建web应用。我们这里整理了30款Django开发中常用的软件包,学会使用它们可以节省大量开发时间,提高开发效率。下面一起来看下。认证和授权1. Python social auth一款社交账号认证/注册机制,支持Django、Flask、Webpy等在内的多个开发框架,提供了约50多个服务商的授权认证支持,如Google、Twitter、新浪微博等站点,配置简单。GitHub 地址:pennersr/django-all原创 2020-12-11 11:35:40 · 908 阅读 · 0 评论 -
Django内置的序列化和反序列化
序列化数据序列化格式标识符 信息 xml 序列化和反序列化为一种简单地 XML 方言。 json 序列化和反序列化为JSON。 yaml 序列化为 YAML(YAML 不是标记语言)。此序列化器仅在PyYAML安装后可 以下用json为例:在最高层面,你可以像这样序列化数据:from django.http import JsonResponsefrom django.core import serializersdef ab_ser(re...原创 2020-12-09 16:25:02 · 432 阅读 · 6 评论 -
Django编写一个自定义存储系统
如果你需要提供自定义文件储存功能把文件储存在远程系统中——自定义一个存储类可以完成这一任务来完成。下面是需要完成的具体步骤1、你自定义的存储系统必须为Django.core.files.storage.Storage的一个子类:from django.core.files.storage import Storage必须继承自Storageclass MyStorage(Storage):2、Django 必须能以无参数实例化你的存储系统。意味着所有设置都应从dango.c...原创 2020-12-08 16:27:18 · 517 阅读 · 0 评论 -
【百度人脸识别】》人脸检测接口调用
相关文档https://cloud.baidu.com/doc/FACE/s/yk37c1u4t接口详细相关参数请参考开发文档代码:import base64import jsonimport requestsfrom flask import Flask, jsonifyfrom constants import API_Key, Secret_Keyapp = Flask(__name__)@app.route('/face_detection')def dete原创 2020-10-12 11:21:49 · 522 阅读 · 0 评论 -
【百度人脸识别】》人脸对比接口的调用
大概流程:进入百度云的人脸识别控制台https://console.bce.baidu.com/?_=1602320265738#/index/overview创建人脸识别应用创建完成后,点击“返回应用列表”进行下一步操作。API文档https://cloud.baidu.com/doc/FACE/s/Lk37c1tpf文档里已经说明首先要获取AccessToken,,这里很简单(可通过后台的API Key和Secret Key生成) # 获取调用接口所需的Acc原创 2020-10-10 17:46:28 · 1730 阅读 · 1 评论 -
APScheduler定时任务
APScheduler (advanceded python scheduler)是一款Python开发的定时任务工具。支持异步执行、后台执行调度任务。APScheduler 支持三种调度任务:固定时间间隔 固定时间点(日期) Linux 下的 Crontab 命令安装pip install apscheduler使用方式新建一个 schedulers (调度器) 。添加一个调度任务(job stores)。运行调度任务。...原创 2020-09-25 17:56:20 · 1598 阅读 · 4 评论 -
python进度条tqdm使用
from tqdm import tqdm, trangeimport timedef A(): sumi = 0 list1 = [] # for i in tqdm(range(100)): for i in trange(100): sumi = sum([sumi, i]) list1.append(sumi) time.sleep(0.1) return sumi# 通过tqdm提供的set_d.原创 2020-09-03 16:39:12 · 553 阅读 · 0 评论 -
python队列的使用及总结
参考链接:https://docs.python.org/zh-cn/3.8/目录第一部分queue模块:classqueue.Queue(maxsize=0)classqueue.LifoQueue(maxsize=0)classqueue.PriorityQueue(maxsize=0)classqueue.SimpleQueueQueue对象:SimpleQueue 对象:queue使用:第二部分multiprocessing.queue...原创 2020-08-28 16:48:10 · 1831 阅读 · 2 评论