主页

go语言实现大文件分割与合并

前言 最近遇到这么个情况,有朋友特意录制了一段视频给我,想发给我。但是视频一不小心录制的太大了,有6G这么大。发送过来遇到了很大的麻烦。使用网盘的话速度太慢了,不能忍。后来发现了文叔叔这个工具。 后续 这个工具具有不限速,不用安装等特点,很方便,只有有浏览器就可以使用,所以使用手机也可以发送接收文件。但是有个问题是免费版单个文件最大只能4G。 后来尝试了很多工具,例如使用剪映把视频剪成几段,但是因为视频太大了,打开都崩溃。后来试着使用压缩工具压缩,可是压缩完还是很大,大于4G。(发稿时又变成5G了) 无奈之下,只能自己写程序来把大文件分割成小文件,然后再用文叔叔传给我,最后我用程序合并就ok了。所以使用什么写呢?python最简单,但是需要对方安装python解释器,...

阅读更多

python设置日志

问题 为python设置日志, 设置日志格式, 并打印到文件中 解答 log.py import logging import os from logging import config BASE_DIR = os.path.abspath(os.path.dirname(__file__)) DEFAULT_LOGGING = { "version": 1, "disable_existing_loggers": False, "formatters": { "standard": { "format": "[%(asctime)s][%(levelname)s] %(pathname)s %(lineno...

阅读更多

删除N天之前的备份文件

问题 备份sql数据, 每天备份一次, 时间久了, 会导致磁盘占用爆炸. 所以有个需求就是根据时间删除N天之前的备份文件,假设N为3 解答 # 删除3天之前的*.sql的文件 find . -name "*.sql" -mtime +2 -type f | xargs rm -rf

阅读更多

开启高性能下载web服务

重要更新见最下头!!! 问题 想高性能传输文件, 安装了python3.6以上, 如果能开启一个高性能的web来传输文件就好了 步骤 安装python3 安装依赖 pip3 install fastapi aiofiles uvicorn 编写web.py保存 访问 http://127.0.0.1:8002/d/files.txt 即可 # save in web.py # python >= 3.6 # pip install aiofiles fastapi uvicorn import os import uvicorn from fastapi import FastAPI, HTTPException from fastapi.responses...

阅读更多

xadmin对于ImageField编辑只能重传的bug

问题 在xadmin中, 对于字段类型是ImageField的, 进入编辑页面, 如果改动其他字段而不理会ImageField字段, 点击保存, 会报错, 图片的字段未上传, 因为必须把图片重新传一遍. 这是xadmin的bug 解决 修改AdminImageWidget类, 最后添加一个方法, 最终效果如下: class AdminImageWidget(forms.FileInput): """ A ImageField Widget that shows its current value if it has one. """ def __init__(self, attrs={}): super(AdminImageW...

阅读更多

通过django框架表CRUD自动对apscheduler管理实现动态定时任务

需求分析 想实现一个需求, 就是通过django的表来管理定时任务, 建立一张定时任务表, 当表新增一条记录的时候, 自动根据表里字段的配置添加定时任务, 表记录修改的时候修改定时任务, 表记录删除的时候删除定时任务. 并对下一次运行时间, 定时任务创建时间 修改时间等进行跟踪. 简单的说就是让前端来配置任务, 或者通过代码ORM操作来配置任务, 其他的定时任务实现尽量屏蔽掉, 其他人不用关心如何调度之类的. 开源方案 网上的开源方案是django-apscheduler但是实践之后, 发现了几个问题 第一, 自建的表里信息不全, 如果想扩展自己的, 更改代码的时候很痛苦. 不如自己做一个. 第二, 只能通过装饰器的方式, 提前将定时任务定义好, 然后项目启动的时候跑起来...

阅读更多

通过django框架表CRUD实现发邮件

需求分析 想建立一张电子邮件表, 当往表里面写一行记录的时候, 自动发邮件, 邮件的配置就是表里的内容. 方案 发邮件本身, 可以使用django-email来实现. 然后定义信号函数, 当表被save的时候自动发邮件. 然后通过xadmin做管理 code settings.py EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend' EMAIL_USE_TLS = True EMAIL_HOST = 'smtp.partner.outlook.cn' EMAIL_PORT = 25 EMAIL_HOST_USER = 'xxx' EMAIL_HOST_PASSWORD = 'xxx' DEFAULT_...

阅读更多

django访问js静态文件404

虽然做了如下配置 settings.py INSTALLED_APPS = [ # ... 'django.contrib.staticfiles', #... ] STATIC_URL = '/static/' STATIC_ROOT = os.path.join(BASE_DIR, 'static') urls.py from django.views.static import serve from music.settings import MEDIA_ROOT, STATIC_ROOT,STATIC_URL urlpatterns = [ re_path(r'^static/(?P<path>.*)$', serve, {'docum...

阅读更多