Python的__pycache__文件夹
运行Python脚本时生成的__pycache__文件夹
原文:https://blog.csdn.net/index20001/article/details/73501375
用python编写好一个工程,在第一次运行后,总会发现工程根目录下生成了一个__pycache__文件夹,里面是和py文件同名的各种 *.pyc 或者 *.pyo 文件。
先大概了解一下python基本运行机制。Python程序运行时不需要编译成二进制代码,而直接从源码运行程序,简单来说是,Python解释器将源码转换为字节码,然后再由解释器来执行这些字节码。
解释器的具体工作:
1 完成模块的加载和链接;
2 将源代码编译为PyCodeObject对象(即字节码),写入内存中,供CPU读取;
3 从内存中读取并执行,结束后将PyCodeObject写回硬盘当中,也就是复制到.pyc或.pyo文件中,以保存当前目录下所有脚本的字节码文件;
* 之后若再次执行该脚本,它先检查【本地是否有上述字节码文件】和【该字节码文件的修改时间是否与其脚本一致】。是就直接执行,否则重复上述步骤。
以下参考自stackoverflow上的一个回答。
· 为什么会出现__pycache__文件夹?
python解释器会将 *.py 脚本文件进行编译,并将编译结果保存到__pycache__
目录中。
下次再执行工程时,若解释器发现这个 *.py 脚本没有修改过,就会跳过编译这一步,直接运行以前生成的保存在 __pycache__
文件夹里的 *.pyc 文件。
这样工程较大时就可以大大缩短项目运行前的准备时间;如果你只需执行一个小工程,没关系 忽略这个文件夹就行。
· 什么时候会出现__pycache__文件夹?
工程目录下有__main__.py文件,和其他将要调用的模块时。如果只有当前运行的脚本 "__main__",则不会生成 __pycache__ 的文件。
· 如何使__pycache__文件夹不出现?
单次: 运行脚本时添加 -B 参数
python -B foo.py
永久: 设置环境变量 PYTHONDONTWRITEBYTECODE=1
附:该文件夹出现在Python3.2及其后的版本中,Python2下的编译文件和源文件放同目录。
Python的__pycache__文件夹相关推荐
- 为什么会出现__pycache__文件夹?
为什么会出现__pycache__文件夹? python解释器会将 *.py 脚本文件进行编译,并将编译结果保存到__pycache__目录中. 下次再执行工程时,若解释器发现这个 *.py 脚本没有 ...
- Python监控目录文件夹,并使用SFTP上传目录及文件到linux服务器
Python 扫描监控本地文件夹并进行超大文件上传 方案1:WebUploader大文件分块多线程并发上传 方案2:watchdog目录文件夹监控,paramiko STFP上传服务器 方案3:优化2 ...
- python读取一个文件夹/子文件夹下的所有文件名字
python读取一个文件夹/子文件夹下的所有文件名字 示例代码: import osfile_path = './images/' all_file_name = os.listdir(file_pa ...
- Python递归获取文件夹下面所有文件名字:
Python递归获取文件夹下面所有文件名字: def getAllFiles(targetDir):files = []listFiles = os.listdir(targetDir)for i i ...
- python 打开当前目录的txt文件-Python - 读取其他文件夹/目录中的文本文件
这是我的情况:我有一些.txt文件在我可以运行脚本的不同目录中.Python - 读取其他文件夹/目录中的文本文件 mainDir/ -face/ -57268-face-_tracker.txt - ...
- python下载文件到指定目录-Python获取指定文件夹下的文件名的方法
本文采用os.walk()和os.listdir()两种方法,获取指定文件夹下的文件名. 一.os.walk() 模块os中的walk()函数可以遍历文件夹下所有的文件. os.walk(top, t ...
- python怎么读文件夹下的文件夹-python如何获取当前文件夹下所有文件名详解
前言 本文主要给大家介绍了关于python获取当前文件夹下所有文件名的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧 os 模块下有两个函数: os.walk() os.li ...
- python遍历指定文件夹的所有文件_python 统计指定文件夹下所有的文件数量,BFS方式...
python 统计指定文件夹下所有的文件数量 本来一直是有这个需求,只是以前写的是递归的方式处理,感觉对资源的占用不友好,而且python的最大递归深度不超过1000,所以改了一下,这里用广度优先遍历 ...
- python删除指定文件夹下文件和文件夹的方法
python删除指定文件夹下的文件,是一个常用的功能.我找了不少地方,一直没有找到合适的模版,那只好自己倒腾一个比较实用的模版了. 基本模块 这里面会用到几个模块,一个是目录下所有文件的的函数:lis ...
最新文章
- LeetCode 36 Valid Sudoku(有效数独)(*)
- 如何在TensorFlow中用深度学习修复图像
- 写给程序员的最好的13条建议
- python列表片段_Python列表片段索引操作,python
- 设计模式的Java 8 Lambda表达式-策略设计模式
- deMeer5_Attacker
- c++编码风格指南_100%正确编码样式指南
- mysql安装后变10g_Oracle 10G安装中一些常见问题解决
- Linux shell(4)
- 利用并查集判断一个无向图是否成树
- 渗透测试工具Nmap从初级到高级
- 假货泛滥是淘宝的毒瘤
- java file.length 单位_Java File length()方法
- 【MIME协议】base64编码与quoted-printable编码
- 服务器双路供电原理,双路电源上电顺序控制电路原理图
- 2019/7/18ACM集训
- Java 7~14各个版本新特性详解
- 小红书文案怎么编辑制作?小红书上的文案怎么做的?
- Kony集成百度推送-IOS
- C51单片机温湿度传感器DTH11使用
热门文章
- 稳定wow60级服务器,魔兽怀旧服:永久60级怀旧服是什么体验?
- android xml pid vid,增加属性标识摄像头的vid与pid,以便知道摄像头与设备文件的对应关系...
- swoole php配置文件,easyswoole自义命令加载自定义配置文件
- java之父求职_Java求职实战之继承和多态
- mongodb安装_MongoDB事实:商品硬件上每秒插入80000次以上
- 去掉一个linux的ip,linux – iptables删除除一个IP之外的所有传入ICMP请求
- ebs oracle pl sql开发_PL/SQL设置
- 水文特点是什么意思_一级建造师是什么意思?一级建造师报考指南
- java moment 日期转换_关于日期:如何使用Java 8 DateTime API转换修改后的儒略日数字...
- 在Java 17中偏向锁可算是废了