
Python
文章平均质量分 68
青衫客36
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
使用Selenium的Python脚本实现自动登录
在HTML中,标签用来嵌入另一个HTML文档。iframe可以用来嵌入广告、地图、视频等独立内容。为了操作iframe中的内容,我们需要先切换到该iframe的上下文。原创 2024-05-30 13:49:21 · 1598 阅读 · 0 评论 -
Python- 关闭XShell后仍然保持Django项目运行
nohup是一个 Unix 和 Linux 系统上的命令,它的名称来自 “no hang up” 的简写。在了解nohup的作用之前,我们需要先理解 “挂断信号”(hangup signal,简称 HUP)的概念。在 Unix-like 系统中,当我们通过 SSH、终端或其他方式登录到一个系统并启动一个程序时,这个程序与我们的登录会话是关联的。如果会话被终止(例如,关闭终端、断开SSH连接等),系统会向所有与该会话关联的进程发送一个称为 “挂断信号”(SIGHUP)的信号。原创 2024-03-13 11:19:03 · 537 阅读 · 0 评论 -
关于django makemigrations/migrate在生成数据表上遇到的一些问题
请注意,直接删除迁移文件和更改数据库可能会导致数据丢失和一些不可预见的问题,特别是在生产环境中。如果可能的话,试着避免删除迁移文件,而是使用Django提供的迁移系统来管理数据库变化。:当你删除迁移文件夹时,Django失去了追踪数据库架构变化的能力。即使你之后切换到了MySQL,由于Django没有可识别的变化(因为它依赖于迁移文件来跟踪变化),所以它不会生成新的迁移文件。如果没有检测到任何变化(即使你删除了迁移文件和更改了数据库),Django就不会创建新的迁移文件。)中的变化来生成迁移的。原创 2024-03-03 01:13:42 · 1296 阅读 · 0 评论 -
Python中的反射
在Python中,反射(Reflection)是一种动态地访问对象和调用其方法的能力,而不需要在编写代码时显式地知道对象的类或属性。这种机制使得代码具有更高的灵活性和可扩展性。原创 2024-03-02 16:23:32 · 449 阅读 · 0 评论 -
C- fseek() & ftell()
fseek()是 C 语言中的标准库函数,它用于设置文件位置指针的位置。这个位置指针决定了下一次读取或写入操作的起始位置。使用fseek()可以在文件中随机访问,这意味着我们不必按顺序读取或写入文件。原创 2023-10-25 15:48:09 · 404 阅读 · 0 评论 -
使用Python脚本来生成用于测试的文件
使用Python脚本生成指定数量的文件,每个文件约10MB,内容为重复的英文句子,单词间只有空格作为分隔符。1这个脚本接收一个命令行参数n,表示要生成的文件数量。这会在当前目录下生成5个约10MB大小的文件,名为file_1.txt、file_2.txt等。每生成的文件都将由随机长度和随机单词组成的句子组成,以确保文件大小约为10MB。注意:这个方法产生的文件确实非常重复和简单。如果想要更真实的英文文章内容,可能需要使用外部的文本资源或更复杂的生成方法。原创 2023-10-25 14:11:04 · 299 阅读 · 0 评论 -
Python WSGI HTTP Server - Gunicorn
也称为“Green Unicorn”,是一个Python WSGI HTTP Server,用于运行Python Web应用程序。WSGI(Web Server Gateway Interface)是Python应用程序和Web服务器之间的一个接口,允许应用程序和服务器进行交互。Gunicorn常常与Django、Flask等Web框架一起使用,但它可以与任何WSGI兼容的应用程序一起工作。原创 2023-10-19 17:10:29 · 737 阅读 · 0 评论 -
Python中的eval() & exec()
eval()是一个内置的 Python 函数,它允许执行一个字符串作为 Python 表达式并返回结果。换句话说,它可以从字符串中动态地执行 Python 表达式。evalNone在这个例子中,在表达式中,eval函数用于评估一个字符串表达式并返回其结果。此表达式尝试对变量a和b进行加法操作。a和b的值(分别为 5 和 3)是从local_vars字典中获取的,并且它们的和(8)被返回。原创 2023-10-14 18:48:32 · 816 阅读 · 0 评论 -
Python中的__repr__() & __str__()
_repr__()是 Python 中的一个特殊方法(也称为 “dunder” 方法,由 “double underscore” 缩写而来)。当调用一个对象的repr()函数或者在控制台中打印一个对象时,这个方法就会被调用。它的目标是返回一个字符串,这个字符串应该是一个合法的 Python 表达式,当通过eval()执行时,可以复现这个对象(尽管在实践中,很多时候我们不需要或不可能实现这种复现性)。__repr__()的主要目的是为调试和开发提供明确性。原创 2023-10-13 13:31:07 · 243 阅读 · 0 评论 -
Python- JSON使用初探
是 Python 标准库中json模块提供的一个函数,它用于将一个 JSON 编码的字符串转换为一个 Python 对象。loads是 “load string” 的缩写。原创 2023-10-13 12:09:28 · 478 阅读 · 0 评论 -
Python- socket编程
Python中的socket模块为网络通信提供了基础API,使我们能够在应用程序中实现低级的网络交互。使用socket编程,可以创建TCP、UDP和RAW sockets来进行数据通信。以下是Pythonsocket。原创 2023-10-12 22:51:16 · 666 阅读 · 0 评论 -
Python- JSON-RPC创建一个远程过程调用
我们使用JSON-RPC创建一个远程过程调用的例子,我们将使用库和Flask框架创建一个后端服务,并使用作为客户端。原创 2023-10-11 22:22:46 · 1923 阅读 · 0 评论 -
Python正则表达式- 正向零宽度查找断言(positive lookbehind assertion)
这个正则表达式使用了Python的re模块来替换字符串中的一部分。patternreplstringr原创 2023-10-11 12:54:26 · 229 阅读 · 0 评论 -
Python- 将一个字符串列表连接成一个单独的字符串
Python中一个常用的技巧:将一个字符串列表连接成一个单独的字符串。是使用Python的str.join()方法。原创 2023-10-10 15:01:57 · 564 阅读 · 0 评论 -
Python中的yield关键字
yield是 Python 中的一个关键字,主要在定义生成器函数时使用。使用yield的函数在调用时返回一个特殊的迭代器,称为生成器。不同于常规的函数返回一个单一的值(如数字、字符串或其他对象),带有yield的函数允许返回一个序列的值,并且在每次产生一个值后“暂停”函数的执行。原创 2023-10-08 23:41:41 · 315 阅读 · 0 评论 -
Python中的列表推导式(List Comprehension)
列表推导式(List Comprehension)是Python提供的一种简洁而优雅的方式,用于创建列表。它通常可以用来代替简单的for循环。原创 2023-10-08 23:18:48 · 1994 阅读 · 0 评论 -
使用venv为Python项目创建一个独立的虚拟环境
是一个创建隔离的Python环境的工具。这允许项目有其自己的依赖关系,而不必与系统全局的Python环境发生冲突。选择一个目录存放我们的Python项目,然后在那个目录下创建一个虚拟环境。,我们可以确保Python项目具有一个独立且隔离的运行环境,这可以避免版本冲突和其他常见的问题。激活虚拟环境会确保我们在这个环境中的任何Python和pip命令都只会影响这个环境。一旦虚拟环境被激活,我们的命令行提示符应该会发生变化,显示正在使用的虚拟环境的名字。的子目录,其中包含了一个独立的Python环境。原创 2023-09-30 16:25:09 · 4349 阅读 · 0 评论 -
Python 将‘20230919182550‘ 转换为 ‘%Y年%m月%d日 %H:%M‘
转换为指定的格式,可以使用 Python 的。对象,然后将该对象转换为指定的格式并打印结果。为了将给定的时间字符串。原创 2023-09-19 19:02:06 · 226 阅读 · 0 评论 -
Python 移动文件到指定路径
shutil 是 Python 标准库中的一个模块,它提供了许多文件和文件集合的高级操作。基本上,它可以帮助我们执行文件操作,例如复制、移动、更名和删除。是直接移动文件或目录到指定的位置。这意味着原始文件或目录将不再存在于其原始位置,而是存在于新的位置。是一个目录,那么源文件将会被拷贝到这个目录下,并保持原始的文件名。因此,可以认为它是一个“移动”操作,而不仅仅是“拷贝”操作。需求:将指定的文件从指定目录移动到用户指定的目标目录。以上就是在Python中拷贝文件和目录的基本方法。原创 2023-09-18 16:49:40 · 2283 阅读 · 5 评论 -
Python中 os 和 os.path 模块处理文件路径的方法
这个方法返回指定路径的绝对路径。如果提供的路径已经是绝对路径,它会返回原路径;如果是相对路径,它会基于当前工作目录返回绝对路径。这种操作通常在需要定位与当前工作目录相邻的其他目录,或者简单地获取当前工作目录的上级目录时很有用。这个方法返回当前工作目录的字符串表示。当前工作目录是指当前 Python 进程正在操作的文件夹。这个方法返回指定路径的目录名。换句话说,它会去掉文件名,只返回文件夹路径。. 这个相对路径指向当前工作目录的父目录下的一个名为。假设你的当前工作目录是。假设你当前的工作目录是。原创 2023-09-07 16:52:56 · 467 阅读 · 0 评论 -
Python中的ThreadPoolExecutor
是 Python 的模块中提供的一个类,用于创建线程池,从而在多线程环境中并发地执行任务。提供了一种高级的接口来异步地提交任务。以下是关于和submit。原创 2023-09-07 16:12:16 · 1272 阅读 · 0 评论 -
Python字节码指令 BUILD_CONST_KEY_MAP
是 Python 字节码中的一个指令,它是为了优化常量键的字典创建而引入的。特别地,它是在 Python 3.6 版本中引入的,用于构建一个字典,其中所有的键都是常量。原创 2023-09-05 15:33:40 · 345 阅读 · 0 评论 -
Python字节码指令 COMPARE_OP & POP_JUMP_IF_TRUE & POP_JUMP_IF_FALSE
在 Python 的字节码中,COMPARE_OP和是用于执行比较和基于比较结果进行条件跳转的指令。这些指令在处理条件语句(如ifwhile)和比较表达式时十分有用。原创 2023-09-05 15:03:28 · 450 阅读 · 0 评论 -
Python- 文件处理
用于检查一个文件名(存储在变量file中)是否以 “.c” 结尾。如果是这样,那么它可能是一个 C 语言源代码文件。接下来,用于获取该文件的名称,但不包括扩展名(即 “.c”)。函数将文件名分割为两部分:一部分是文件名(不包括扩展名),另一部分是扩展名(包括点字符)。函数返回一个包含这两个部分的元组。通过索引[0],我们只取该元组的第一个元素,即不包括扩展名的文件名。例如,如果file是 “example.c”,。取索引[0],你就会得到 “example”,这就是不包括扩展名的文件名。原创 2023-09-02 21:39:45 · 732 阅读 · 0 评论 -
Python中的 LOAD_DEREF & LOAD_CLOSURE
当一个内部函数引用了一个在外部函数中定义的变量,这个变量就会被视为一个“自由变量”(free variable)。是CPython中的实现细节,并不是Python语言规范的一部分。不同的Python实现(比如PyPy, Jython等)可能会有不同的方式来实现相同的功能。是一个操作码,用于从函数的闭包(如果存在)或从当前函数的局部作用域外的命名空间(enclosing scope)中加载一个变量。在Python(特别是CPython实现)的字节码指令集中,指令用于在内部函数中加载这种自由变量。原创 2023-08-27 23:36:33 · 434 阅读 · 1 评论 -
Python中的 nonlocal 关键字
关键字用于在嵌套函数中引用外部(但不是全局)作用域的变量。可以使你在嵌套函数内部修改外层(非全局)作用域的变量。不会影响全局作用域中的变量。是局部作用域中的一个新变量,它没有影响。的作用,我们先看一个没有使用。原创 2023-08-26 12:18:58 · 531 阅读 · 0 评论 -
physical lines & logical lines
【代码】physical lines & logical lines。原创 2023-08-24 23:55:03 · 1334 阅读 · 0 评论 -
Python 字节码指令 LOAD_DEREF
在 Python 中,函数是一等对象,这意味着它们可以作为参数传递,可以返回,可以定义在另一个函数内部等。当内部函数引用了外部函数的变量时,我们得到了一个闭包。这是因为,尽管上层函数已经执行完毕并退出了,但嵌套的函数依然可以访问上层函数的变量。当一个嵌套函数引用了其上级作用域中的一个变量,但该变量并不是全局的或局部的,那么这个变量就被称为。是一个在嵌套函数内部被引用,但不是这个嵌套函数的局部变量,也不是全局变量的变量。,它保存了闭包中被引用的变量的当前值。在以下示例中,我们创建了一个闭包,然后使用。原创 2023-08-17 16:16:09 · 236 阅读 · 0 评论 -
Python中的字典遍历
Python字典是一种关联数组或哈希表,其中存储了键值对。可以使用字典推导来创建一个新的字典。这些是遍历Python字典的基本方法。根据具体的应用场景,你可能会采用更复杂的方法或组合。原创 2023-08-17 16:07:34 · 888 阅读 · 0 评论 -
Python字节码的LOAD_NAME和LOAD_GLOBAL
这两个指令的区别反映了Python名称解析的LEGB规则,即Local(局部) -> Enclosing(封闭) -> Global(全局) -> Built-in(内建)。但是,请注意,封闭命名空间在这两个指令中并没有直接涉及;都是用来加载一个名称引用的值的,但它们在不同的上下文中使用,它们的查找逻辑也略有不同。在Python字节码中,原创 2023-08-17 15:51:05 · 385 阅读 · 0 评论 -
Python中的MetaPathFinder
是 Python 导入系统中的一个关键组件,它与列表紧密相关。是一个包含实例的列表,这些实例用于自定义模块的查找和加载逻辑。当使用import语句尝试导入一个模块时,Python 会遍历中的每个,尝试找到并加载该模块。原创 2023-08-15 20:24:28 · 627 阅读 · 0 评论 -
Python中的命名空间
在Python中,命名空间是一个关键的概念,用于管理变量、函数、类和其他标识符的名称。简而言之,命名空间是一个字典,其中键是变量/函数/类的名字,值是对应的对象。Python使用命名空间来避免命名冲突并明确地指定哪些变量或函数在哪个范围内有效。原创 2023-08-15 13:59:49 · 365 阅读 · 0 评论 -
Python的getattr方法
getattr是Python中的内置函数,用于获取一个对象的属性值。这个函数是动态获取属性的一种方式,特别适用于你事先不知道要获取哪个属性,或者属性名是在运行时确定的情况。原创 2023-08-15 11:50:31 · 384 阅读 · 0 评论 -
Python中的*args, **kwargs
是两种传递变量数量的参数到一个函数的方法。它们分别用于处理位置参数和关键字参数。在这个例子中,可以传递任意数量的关键字参数给。在这个例子中,可以传递任意数量的位置参数给。函数,它们会被收集到一个元组中。函数,它们会被收集到一个字典中。可以在同一个函数中结合使用。原创 2023-08-09 23:12:48 · 278 阅读 · 0 评论 -
__dict__属性
是 Python 中的一个特殊属性,通常存在于大多数 Python 对象中,用于存储该对象的可变属性。提供了一种方便的方式来存储和管理对象的属性,但直接操作它应当谨慎,并确保了解相关的副作用和性能影响。跳过了任何可能存在的特性或描述符,可能导致意外的副作用或错误。属性包含了这个对象的属性及其对应的值。它以字典的形式存储。是一个字典,所以你可以动态地为对象添加或修改属性。可以限制一个类的实例属性,避免为每个实例创建。:为了优化内存使用,某些内置类型和使用了。,它存储了类的属性,包括类的方法。原创 2023-08-08 21:05:00 · 483 阅读 · 0 评论 -
Python中的CALL_FUNCTION指令
是用来将关键字参数的数量放到高8位上,而3(位置参数的数量)则放在低8位上。当你将这两个数字相加时,你得到的是一个两部分组成的数字:高8位代表关键字参数的数量,低8位代表位置参数的数量。指令,操作数是由两部分组成的:低8位用于位置参数的数量,高8位用于关键字参数的数量。这个数字的低两位表示位置参数的数量,然后每两位表示一个关键字参数的数量。为了避免混淆,如果只使用位置参数(没有关键字参数),数字直接代表位置参数的数量。低8位用于表示位置参数的数量,高8位用于表示关键字参数的数量。后跟的数字是0,因为。原创 2023-08-08 19:54:13 · 663 阅读 · 0 评论 -
位置参数 & 关键字参数
在Python中,函数参数可以按照位置或关键字来传递。这导致了两种主要的参数类型:位置参数和关键字参数。在Python中,也可以使用默认参数值,这使得参数在调用函数时变得可选。来接受任意数量的关键字参数。这为函数调用提供了极大的灵活性。来接受任意数量的位置参数,以及。此外,Python还支持。原创 2023-08-08 14:10:12 · 345 阅读 · 0 评论 -
Python中的__code__属性
这个属性是一个引用到代码对象,它包含了与该函数相关的Python字节码及其他相关信息。代码对象在Python中是用来存储可执行代码的基本单元,它们包含了字节码、常量、变量名等相关的数据。:在Python中,函数可以定义接受位置参数和/或关键字参数。你可以使用这些属性来分析、检查或者操作Python函数的字节码。仅关键字参数的主要目的是允许在参数列表的最后增加新的参数而不破坏现有的调用代码。是仅关键字参数,这意味着它们只能作为关键字参数提供,不能作为位置参数提供。属性指示这种仅关键字参数的数量。原创 2023-08-08 14:08:19 · 2320 阅读 · 0 评论 -
浅谈Python中的内存管理 & 程序的内存布局
Python 的内存管理是通过私有堆空间来实现的。这个私有堆内存中存储了所有 Python 对象和数据结构。Python 的解释器自身则拥有对堆空间的访问权,程序员不能直接访问这个私有堆,但可以通过解释器的 API 来进行某些操作。:Python 的内存分配是从私有堆上进行的。这个堆内存包含了所有 Python 对象和数据结构。:Python 内部使用引用计数来跟踪每个对象的引用数量。当引用计数归零时,即对象不再被引用时,该内存就可以被回收。但这种机制有一个主要缺点:它不会处理引用循环。原创 2023-08-07 22:31:02 · 2029 阅读 · 0 评论 -
浅谈Python内存管理和垃圾回收
我们先简要讨论这两种机制,然后详细说明如何处理引用循环。原创 2023-08-07 22:29:08 · 360 阅读 · 0 评论