Python sys包

前言 sys模块提供了一些变量和函数。这些变量可能被解释器使用,也可能由解释器提供。这些函数会影响解释器. 文档地址 这篇文章给常用的一些变量做笔记 sys.argv 一个列表,其中包含了被传递给 Python 脚本的命令行参数。 argv[0]为脚本的名称(是否是完整的路径名取决于操作系统)。如果是通过Python解释器的命令行参数-c来执行的, argv[0]会被设置成字符串 '-c' 。如果没有脚本名被传递给Python解释器, argv[0]为空字符串。 其他选项存在后续下标中,如python main.py -a -b,argv[1]为-a 为了遍历标准输入,或者通过命令行传递的文件列表,参照fileinput模块 sys.exec_prefix 一个字符串,提供特定域的目录前缀,该目录中安装了与平台相关的 Python 文件,默认也是'/usr/local'。 该目录前缀可以在构建时使用configure脚本的--exec-prefix参数进行设置。 具体而言,所有配置文件(如 pyconfig.h 头文件)都安装在目录 exec_prefix/lib/pythonX.Y/config中,共享库模块安装在 exec_prefix/lib/pythonX.Y/lib-dynload中,其中 X.Y 是 Python 的版本号,如 3.2。 sys.base_exec_prefix base_exec_prefix在python启动的时候且在site.py运行之前被设置,和exec_prefix有相同的值(当不使用虚拟环境时) 如果使用了虚拟环境,prefix和exec_prefix会被改变,用于指向虚拟环境 base_prefix和base_exec_prefix会保持指向安装在系统中的python sys.base_prefix base_prefix在python启动的时候且在site.py运行之前被设置,和prefix有相同的值(当不使用虚拟环境时) 如果使用了虚拟环境,prefix和exec_prefix会被改变,用于指向虚拟环境 base_prefix和base_exec_prefix会保持指向安装在系统中的python sys.builtin_module_names 一个元组,包含了所有被编译进了python解释器的模块 sys.exc_info() 本函数返回一个(type, value, traceback)元组: type是正在处理的异常类型(它是BaseException的子类) value是异常实例(异常类型的实例) traceback 是一个回溯对象,该对象封装了最初发生异常时的调用堆栈。 如果整个堆栈都没有正在处理的异常,则以上3个值均为None 返回的信息仅限于当前线程和当前堆栈帧。如果当前堆栈帧没有正在处理的异常,则信息将从下级被调用的堆栈帧或上级调用者等位置获取,依此类推,直到找到正在处理异常的堆栈帧为止。此处的“处理异常”指的是“执行 except 子句”。任何堆栈帧都只能访问当前正在处理的异常的信息。 sys.last_type, sys.last_value, sys.last_traceback 这些变量的含义与上述exc_info()返回值的含义相同, 它们并非总是有定义,仅当有异常未处理,且解释器打印了错误消息和堆栈回溯时,才会给它们赋值。它们的预期用途,是允许交互中的用户导入调试器模块,进行事后调试,而不必重新运行导致错误的命令。...

created: 2020-03-20  |  updated: 2020-03-20  |  阿秀

celery

安装 安装celery包 选一个broker,这里我选rabbitmq 选一个backend,这里我选redis python环境下需要安装redis包 插件 flower可以实时监控celery状态 配置 1 2 3 poetry add celery docker run -d -p 5672:5672 rabbitmq docker run -d -p 6379:6379 redis 配置文件celeryconfig.py: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 broker_url = 'pyamqp://guest:guest@localhost' result_backend = 'rpc://' task_serializer = 'json' result_serializer = 'json' accept_content = ['json'] timezone = 'Europe/Oslo' enable_utc = True task_routes = { 'task....

created: 2020-02-26  |  updated: 2020-02-26  |  阿秀

git入门

初始化 给已存在项目添加版本管理,先进入项目目录,然后 1 git init 若新建项目,可以: 1 git init project_name git 配置参数 1 git config setting_name setting_value 使用参数--global给全部用到当前git二进制文件的项目设置环境变量,例如 1 git config --global email xxx@gmail.com 查看当前git环境详细配置 1 git config -l 查看不同级别的配置文件: 1 2 git config --system --list git config --global --list 删除配置项 1 git config --unset setting_name git设计思想 git有四个区域: 工作目录(working Directory):当前的工作环境 暂存区(Stage/Index):暂存代码改动 本地仓库(Local Repository) 远程git仓库(Remote Repository) 用一个更贴切的图片描述:...

created: 2020-02-17  |  updated: 2020-02-18  |  阿秀

git常用命令

常用命令 1 2 3 4 5 git init git add * git add -A git commit -m "your message" git push -u origin master git添加空文件夹的方法 在要添加的文件夹下面新建名为.gitkeep或.keep的空文本文件 打标签 1 删除已提交文件 1 git rm -r --cached floder git配合github的使用流程 先建立本地git,编写.gitignore文件, 然后add和commit 1 2 3 git init git add -A git commit -m 'init' 在github上新建repository, 然后给本地项目添加远程仓库 1 git remote add origin git@github....

created: 2020-02-17  |  updated: 2020-02-17  |  阿秀

git常见问题

git若干令人困惑的问题: 1. 文件提交到了暂存区,如何取消? 2. 提交到了本地Repository,如何撤销到暂存区? 使用git reset –hard HEAD~n 会 –hard:撤销并删除相应的更新 ??? 3. 如何变更当前工作区? 4. 远端仓库如何回退到指定分支? get reset HEAD到底怎么用?

created: 2020-02-17  |  updated: 2020-02-17  |  阿秀

python asyncio

使用async关键字的原生协程 异步生成器(在async def中使用yield),例如: 1 2 async def async_gen(): yield 1 协程函数(即协程),例如: 1 2 3 async def cor(): res = await awaitable() return res 其中awaitable()指的是实现了__await__()协议的对象 协程的一个例子 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 import asyncio async def cor_1(n): return list(range(n)) async def cor_2(n): return list(range(n)) async def chain(m, n): r1 = await cor_1(m) r2 = await cor_2(n) print(r1, r2) async def main(): await asyncio....

created: 2020-02-10  |  updated: 2020-02-10  |  阿秀

linux常用命令与程序

基础 man man 命令是一个帮助命令,用于在 Linux 系统中查看指令、配置文件和编程帮助等信息 man ls 查看程序 ls 的帮助文档 pwd pwd 的含义是 print working directory,用于显示当前工作目录的路径 pwd 最常用 pwd -P 显示实际的路径,而不是使用连接文件路径。这在查看多层嵌套的连接文件时非常有用 ls ls 用来列出用于列出目录中的文件和文件夹 ls -a 列出所有文件,包括隐藏文件 ls -R 列出包括文件,包括子目录 ls -l 以树形结构列出目录内容, 列出文件的详细信息,包括权限、所有者、大小和修改日期等 ls /path/to/directory 列出指定目录的内容 ls -lh 显示文件大小以人类可读的格式(例如,以K、M、G为单位) ls -lt 按修改时间排序文件(默认降序) ls -lhS 按文件大小排序文件(默认降序) ls *.txt 支持通配符 cd cd 的意思是 change directory,即改变当前的工作目录 cd directory_path cd / 进入根目录 cd ~ 进入当前用户的主目录 cd ....

created: 2020-02-03  |  updated: 2021-01-21  |  阿秀

C with STL

数据类型及范围 int 正负21亿(大约) long long 正负9*10^18(大约) float 提供7~8位有效数字 double 提供15~16位有效数字 正负1.7*10^308次方(大约), 用double硬编码一个308位的数字在代码中可能通不过编译 类型 范围(十进制) 内存大小 char -128~127 1 Byte short -32768~32767 2 Byte unsigned short 0~65535 2 Byte int/long -2147483648~2147483647 4 Byte unsigned int 0~4294967295 4 Byte long long -9223372036854775808~9223372036854775807 8 Byte float -3.4E-38~3.4E+38 4 Byte double 1....

created: 2020-01-02  |  updated: 2021-11-25  |  阿秀