- 博客(65)
- 收藏
- 关注
原创 Python获取本周内的日期列表
获取指定日期内的的本周日期列表from datetime import datetime, timedeltadef get_week(today): today = datetime.strptime(today, '%Y-%m-%d') # 将字符串格式化为datetime类型 weekday = today.weekday() # 获取输入的日期是周几:int 周一为0 # print(weekday) ret = list() # 这周开始的
2021-06-21 19:45:33 1831
原创 Shell7-进程ps、pgrep、进程信号、系统信息、cron、用户管理
Shell7-进程ps、pgrep、进程信号、系统信息、cron、用户管理进程pgrep进程信号some系统信息/proc信息cron用户管理进程-e(every),ps -e,或者-ax(all),ps -ax2. -o,可选,ps -eo comm,pcpu,3. --sort,排序降序 ps -eo comm,pcpu --sort -pcpu | headpgrep命令的进程ID,ps -C uwsgi -o pid=,使用pgrep可以模糊匹配命令pgrep uws,-d指定
2021-05-21 22:19:07 488
原创 Shell6-df、du、time、登录、启动、故障、ps、watch
Shell6-df、du、time、登录、启动、故障、ps、watch磁盘time 计算命令执行时间登录、启动、故障信息some占用最大CPU的进程watch监视命令的输出磁盘df(disk free)磁盘可用空间信息,-h易读输出,df -hdu(disk usage)获取文件夹或文件的使用情况,du file.txt-a目录的所有文件,文件夹的磁盘使用情况,默认只输出文件夹的。-h易读格式输出-c输出所有文件和目录的磁盘使用情况,以及在最后一行输出总计-s只输出总计特定单位-b/字节
2021-05-21 22:18:22 351
原创 Shell5-lynx、cURL、tar、gzip、zip、加密、rsync、scp、sshfs
Shell5-lynx、cURL、tar、gzip、zip、加密、rsync、scp、sshfslynx 基于命令行的web浏览器cURL归类压缩targzipzip加密rsync 备份系统快照scpsshfslynx 基于命令行的web浏览器下载网页的ASCII字符形式,lynx -dump URL > webpage.txt所有超链接将保持在References下。cURL--cookie,curl http://caisi.xyz/admin --cookie "session=as
2021-05-21 22:17:36 407
原创 Shell4-grep、cut、sed、awk
Shell4-grep、cut、sed、awkgrep-cutsedawksome用例grep-E使用正则: echo this is a line. | grep -E "[a-z]\."-o只输出匹配到的文本-v除匹配到的所有行-c匹配的行数,匹配数:echo -e "this is a word.\n next line." | egrep -o "[a-z]\." | wc -l-n匹配到在第几行-b -o位于改行的第几个开始字符-l搜索多个文件,匹配搜索到的文件,-L取反,文件中
2021-05-21 22:16:47 197
原创 Shell3-文件权限、类型、diff、tail、目前切换、wc、tree
Shell3-文件权限、类型、diff、tail、目前切换、wc、tree文件权限文件类型文件差异tailpushd和popd 栈快速定位wctree文件权限设置chmod u=rwx g=rw o=r filename 等于 chmod 764 filenamechattr: 文件不可修改chattr +i filename注:粘滞位使用t/T表示,只有创建该目录的用户才能删除目录中的文件。example:/tmp文件类型file filename文件差异一体化:diff -u
2021-05-21 22:15:39 242
原创 Shell2-cat、find、xargs、tr、sort、uniq、split、切分文件名
Shell2-cat、find、xargs、tr、sort、uniq、split、切分文件名cat (concatenate) 拼接findxargstr校验和与核实排序、单一sortuniq分割文件和数据切分文件名cat (concatenate) 拼接多个文件拼接cat file1 file2参数:-s: 压缩空白行,使用tr移除空白行cat file | tr -s '\n'-n: 显示行号find参数:-print: '\n’作为分隔-print0: '\0’空字符
2021-05-21 22:14:41 450
原创 Shell1-进程、环境变量、输入、录制终端-基础
Shell1-进程、环境变量、输入、录制终端-基础shell运行方式和首行意义两种运行方式进程 & 进程的环境变量获取进程pid进程的环境变量read 输入录制与回放终端会话shell运行方式和首行意义#!/bin/bash#!被置于解释器路径之前。/bin/bash是Bash的路径两种运行方式sh script.sh./script.sh注:需要可执行权限(chmod a+x script.sh).bashrc: 配置文件.bash_history: 历史记录进程 &am
2021-05-21 22:10:21 236
原创 Medical Data Visualizer
Medical Data VisualizerIntroductionCodeResultLastpandasdraw cat plotheat mapEndIntroductionIn this project, you will visualize and make calculations from medical examination data using matplotlib, seaborn, and pandas.FreeCodeCampCodeimport panda
2021-04-28 21:46:38 386 1
原创 Medical Data Visualizer
Medical Data VisualizerIntroductionCodeDataSetResultLastEndIntroductionIn this challenge you must analyze demographic data using Pandas. You are given dataset of demographic data that was extracted from the 1994 Census database.FreeCodeCampCodeimpor
2021-04-26 23:05:56 138
原创 Docker Nginx 一台服务器部署多个服务项目
上云!踩坑记录Nginx 没有找到相应的IP看情况,应该是covid_19_dv这个应用引起的,因为没有启动,所以docker的network没有相应的IP,最终导致Nginx启动的时候配置文件那里报错了。解决:1. 删除covid_19_dv的Nginx配置文件。 2. 启动covid_19_dv,让Nginx找到IP。...
2021-04-11 15:30:18 2425
原创 User Hits CF
ContentsUser Hits CFRead Date MethodItem CFUser CFUser Hits CFRead Date Methoddef get_user_click(rating_file): with open(rating_file) as fp: user_click = {} for line in fp: if 'userId' in line: continue
2021-04-11 13:44:48 167
原创 无重复字符的最长子串
无重复字符的最长子串给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。def two_sum(s): result = 0 occ = set() n = len(s) rk, ans = -1, 0 for i in range(n): if i != 0: occ.remove(s[i-1]) while rk + 1 < n and s[rk + 1] not in occ:
2021-03-28 18:01:18 118
原创 两链表和
def two_sum(l, l2): result = [] carry = 0 # 最大循环 le1, le2 = len(l), len(l2) n = le1 if le1 > le2 else le2 for i in range(n): try: n1 = l[i] except IndexError: n1 = 0 try:
2021-03-28 16:32:01 86
原创 Windows10 Python-nmap 端口扫描
文章目录Python-nmap端口扫描实例代码安装运行总结Python-nmap端口扫描实例代码#!/usr/bin/env python# coding: utf-8# In[4]:import nmapscanner = nmap.PortScanner()ip_addr = input('Please enter the IP address you want to scan: ')print('The IP you entered is: ', ip_addr)type
2021-03-25 17:54:19 487
原创 协同过滤推荐算法
文章目录协同过滤推荐算法欧几里得距离皮尔逊相关系数相似度最高相似度转评分物品用户数据转换DataRun总结协同过滤推荐算法欧几里得距离from math import sqrt def sim_distance(prefs,person1,person2): si = {} for item in prefs[person1]: if item in prefs[person2]: si[item] = 1 print(si)
2021-03-24 06:52:40 275
原创 Flask + MongoDB后台管理员授权功能(下)
文章目录Flask + MongoDB后台管理员授权功能超级管理员权限管理路由函数数据库操作函数Ajax异步请求HTML 页面总结Flask + MongoDB后台管理员授权功能超级管理员权限管理路由函数@bp.route('/admin_account', methods=['GET', 'POST'])@admin_auth(['admin'])def admin_account(): """管理员帐号管理""" if request.method == 'POST':
2021-03-20 17:08:58 455
原创 Flask + MongoDB后台管理员授权功能(上)
文章目录Flask + MongoDB后台管理员授权功能需求分析数据库设计装饰器模块使用装饰器装饰路由函数Flask + MongoDB后台管理员授权功能需求分析实现后台不同角色的管理员授予不同的权限超级管理员可以管理其他普通管理员的权限数据库设计> db.admin.find().limit(1).pretty(){ "_id" : ObjectId("6054969580a74192995fa045"), "email" : "caisi1735@163.com", "is
2021-03-20 17:08:32 426
原创 Use Docker-compose build Flask project, and use mysql, mongodb and nginx
使用docker-compose一键部署Flask项目部分菜单docker-compose.ymldocker-compose.ymlversion: '2.0'services: mysql: image: mysql restart: always command: '--default-authentication-plugin=mysql_native_password' volumes: - ./script/data/mysql
2021-03-10 11:50:54 214
原创 Flask Nginx uWSGI&gunicorn
Flask Nginx uWSGI&gunicorn使用Nginx部署Flask uWSGI和gunicorn服务器Flask创建项目文件夹mkdir flask_t && cd flask_t配置python虚拟环境由于是Ubuntu 16.04版本,所以需要安装python3-venvsudo apt-get install python3-venvpython3 -m venv venv激活. /venv/bin/activate安装相应的包
2021-03-07 18:33:09 197
原创 Docker-compose
mongodbversion: '2'services: mongo: image: mongo restart: always environment: MONGO_INITDB_ROOT_USERNAME: root MONGO_INITDB_ROOT_PASSWORD: root设置用户名和密码docker-compose up -d 在后台构建服务docker exec -it mongo_mongo_1 bash 进入容器bash
2021-03-07 17:41:14 141
原创 Python 元类编程
类元编程元类编程指在运行时创建或定制类。在运行时创建类类工厂函数类是一等对象,可以使用函数新建类,而无须使用class关键字def record_factory(cls_name, field_names): try: field_names = field_names.replace(',', ' ').split() except AttributeError: psss field_names = tuple(field_names
2021-02-23 12:45:58 123
原创 Python属性描述符
属性描述符描述符是对多个属性运用相同存取逻辑的一种方式。描述符是实现了特定协议的类,包括__set__、__get__和__delete__方法。描述符验证属性特性函数工厂函数借助函数式编程模式避免重复编写读值方法和设值方法描述符用法:创建一个实例,作为另一个类的类属性。使用Quantity描述符管理LineItem的属性class Quantity: """描述符类,实现描述符协议的类""" def __init__(self, storage_name):
2021-02-22 14:15:02 218
原创 Python动态属性和特性
动态属性和特性使用动态属性转换数据加载数据原网址已经没有相应的文件了,可以在这本书的github代码库fluentpython中获取# from urllib.request import urlopenimport warningsimport osimport json# URL = 'http://www.oreilly.com/pub/sc/osconfeed'JSON = 'data/osconfeed.json'def load():# if not os
2021-02-21 11:44:08 168
原创 使用asyncio包处理并发
使用asyncio包处理并发线程和协程对比线程显示文本旋转import threadingimport itertoolsimport timeimport sysclass Signal: go = True # 控制线程 def spin(msg, signal): write, flush = sys.stdout.write, sys.stdout.flush for char in itertools.cycle('|/-\\'): #
2021-02-19 18:49:35 206
原创 Python使用期物futures处理并发
使用期物futures处理并发依序下载图片import os import sysimport timeimport requestsPOP20_CC = ('CN IN US ID BR PK NG BD RU JP MX PH VN ET EG DE IR TR CD FR').split()BASE_URL = 'http://flupy.org/data/flags'DEST_DIR = 'downloads/'def save_flag(img, filename):
2021-02-17 17:14:33 147 1
原创 协程(yield)
协程用作协程的生成器def simple_coroutine(): print('-> coroutine started') x = yield # 此处返回None print('-> coroutine received:', x) my_coro = simple_coroutine()my_coro next(my_coro) # 预激活,这里执行到x = yield |的后面,即返回了Nonemy_coro.send(42) # 这里执行y
2021-02-15 12:20:20 651
原创 上下文管理器和else块
上下文管理器和else块if 语句之外的else块for···else···for运行完毕时才运行else块my_list = ['apple']for item in my_list: if item == 'banana': breakelse: raise ValueError('No banana flavor found!')while···else···:仅当while循环因为条件为假值而退出时才运行else块try···except
2021-02-14 18:46:18 94
原创 jupter notebook 实现多PC端登录
生成配置默认配置文件jupyter notebook --generate-config在用户目录下生成.jupyter文件夹设置登录密码,且生成秘钥修改生成的默认jupyter_notebook_config.py配置文件修改登录密码,即生成的加密秘钥修改允许登录的IP,默认为localhost关闭启动时自动打开浏览器运行测试...
2021-02-14 13:47:06 563
原创 可迭代的对象、迭代器和生成器
可迭代的对象、迭代器和生成器可迭代对象iter函数:检查对象是否实现了__iter__方法,以获取一个迭代器如果没有实现__iter__方法,但是实现了__getitem__方法,Python会创建一个迭代器import reimport reprlibRE_WORD = re.compile('\w+')class Sentence: def __init__(self, text): self.text = text self.words =
2021-02-14 13:23:25 148
原创 重载运算符
decimal.Macimal设置算术运算上下文的精度精度变化可能导致x不等于+ximport decimalctx = decimal.getcontext()# 默认是28位精度ctx.prec = 40ont_third = decimal.Decimal('1') / decimal.Decimal('3')one_thirdone_third == +one_third# 设为28位# 这里如果是在notebook中,同一行算一个上下文,ctx.prec只对同一上下文起作用
2021-02-13 14:55:24 140 1
原创 继承
多重继承和方法解析顺序class A: def ping(self): print('ping:', self) class B(A): def pong(self): print('pong:', self) class C(A): def pong(self): print('PONG:', self) class D(B, C): def ping(self):
2021-02-12 19:53:17 188 1
原创 从协议到抽象基类
序列协议class Foo: def __getitem__(self, pos): return range(0, 30, 10)[pos] f = Foo()# 访问元素f[1]# Foo实例可迭代for i in f: print(i)# 也能支持in运算20 in f15 in f如果没有__iter__和__contains__方法,Python会调用__getitem__方法,设法让迭代和in运算符可用。动态协议和猴子补丁FrenchD
2021-02-10 17:54:14 215
原创 序列的修改、散列和切片
import operatorimport operatorimport itertoolsimport numbersclass Vector: typecode = 'd' shortcut_names = 'xyzt' def __init__(self, components): self._components = array(self.typecode, components) def __iter__(sel
2021-02-10 09:45:46 187 1
原创 Python对象
实例的多种表现形式from array import arrayimport mathclass Vector2d: typecode = 'd' def __init__(self, x, y): self.__x = float(x) self.__y = float(y) @property def x(self): return self.__x @property
2021-02-09 18:59:20 218 1
原创 Windows 10 Pro Last configuration Environment Variables
1. This PC ->properties2. System protection3. Advanced -> Environment Variables4. System variables -> Path5. Edit6. Save & End
2021-02-08 00:29:20 93
原创 Python对象的引用、可变性和垃圾回收
“==”和“is”==运算符比较两个对象的值(对象中保存的数据),而is比较对象的标识# id()返回对象标识的整数表示charles = {'name': 'Charles L. Dodgson', 'born': 1832}lewis = charleslewis is charlesid(charles), id(lewis)lewis['balance'] = 950alex = {'name': 'Charles L. Dodgson', 'born': 1832, 'bal
2021-01-28 22:12:02 179 1
原创 函数装饰器和闭包
装饰器基础装饰器是可调用对象,其参数是另一个函数。装饰器可能会处理被装饰的函数,然后把它返回,或者将其替换成另一个函数或可调用对象。def deco(func): def inner(): print('running inner()') return inner@decodef target(): print('running target()')# 调用的是inner函数target()装饰器在被函数定义之后立即运行,通常是在导入装饰器模
2021-01-26 20:35:12 113
原创 Python-一等函数
把函数视作对象__doc__属性生成对象帮助文本def factorial(n): """ return n! """ return 1 if n < 2 else n * factorial(n-1)factorial.__doc__通过别的名称使用函数,把函数作为参数传递fact = factorialfact(5)list(map(factorial, range(11)))高阶函数sortedfruits = ['strawberry', '
2021-01-26 09:52:11 151
原创 字典与集合
字典推导DIAL_CODES = [(86, 'China'),(91, 'India'),(1, 'United States')]country_code = {country: code for code, country in DIAL_CODES}用setdefault处理找不到的键# 如果key不存在,把key和一个空列表放进映射,然后返回这个空列表my_dict.setdefault(key, []).append(new_value)defaultdict:处理找不到的键的一
2021-01-23 19:47:37 222 3
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人