运行出现新文件夹
在这里的测试题的第四题里,我按着小甲鱼的要求写了代码,运行正常,但是出现了个新文件夹__pycache__,里面就是ab两个程序,但是后缀便成了pyc。这是怎么回事? 大号帮忙传下图 沙漠之烟 发表于 2023-3-22 22:10大号帮忙传下图
好的 是不是不小心打成了a.pyc?,b.pyc? __pycache__ 文件夹是 Python 在运行程序时自动生成的。当你运行一个需要导入模块的 Python 程序时,Python 解释器会把模块的源代码(.py 文件)编译成字节码(.pyc 文件)。字节码是一种低级的、与平台无关的代码,用于提高程序运行速度。
Python 解释器会将这些 .pyc 文件保存在 __pycache__ 文件夹中,以便下次运行程序时直接加载,从而提高运行速度。 sfqxx 发表于 2023-3-22 22:13
是不是不小心打成了a.pyc?,b.pyc?
不是,你看主号的图 isdkz 发表于 2023-3-22 22:14
__pycache__ 文件夹是 Python 在运行程序时自动生成的。当你运行一个需要导入模块的 Python 程序时,Python ...
谢谢。那后缀的c是不是表示c文件? 一点沙 发表于 2023-3-22 22:16
谢谢。那后缀的c是不是表示c文件?
不是,那个 c 表示 compile(编译)
编译后的字节码的意思 isdkz 发表于 2023-3-22 22:17
不是,那个 c 表示 compile(编译)
编译后的字节码的意思
谢谢! 沙漠之烟 发表于 2023-3-22 22:18
谢谢!
不客气,你如果不希望它自动生成那个 __pycache__ 的话可以添加一个环境变量 PYTHONDONTWRITEBYTECODE ,把这个环境变量的值设为 1
不过不建议这么做,因为 __pycache__ 是用来提高程序运行效率的 一点沙 发表于 2023-3-22 22:16
谢谢。那后缀的c是不是表示c文件?
使用 python -h 可以看到在运行的时候用 -B 也可以实现不生成 __pycache__ ,比如 python -B xxx.py
(base) D:\>python -h
usage: C:\Program Files\Python311\python.exe ... [-c cmd | -m mod | file | -] ...
Options (and corresponding environment variables):
-b : issue warnings about str(bytes_instance), str(bytearray_instance)
and comparing bytes/bytearray with str. (-bb: issue errors)
-B : don't write .pyc files on import; also PYTHONDONTWRITEBYTECODE=x
-c cmd : program passed in as string (terminates option list)
-d : turn on parser debugging output (for experts only, only works on
debug builds); also PYTHONDEBUG=x
-E : ignore PYTHON* environment variables (such as PYTHONPATH)
-h : print this help message and exit (also -? or --help)
-i : inspect interactively after running script; forces a prompt even
if stdin does not appear to be a terminal; also PYTHONINSPECT=x
-I : isolate Python from the user's environment (implies -E and -s)
-m mod : run library module as a script (terminates option list)
-O : remove assert and __debug__-dependent statements; add .opt-1 before
.pyc extension; also PYTHONOPTIMIZE=x
-OO : do -O changes and also discard docstrings; add .opt-2 before
.pyc extension
-P : don't prepend a potentially unsafe path to sys.path
-q : don't print version and copyright messages on interactive startup
-s : don't add user site directory to sys.path; also PYTHONNOUSERSITE
-S : don't imply 'import site' on initialization
-u : force the stdout and stderr streams to be unbuffered;
this option has no effect on stdin; also PYTHONUNBUFFERED=x
-v : verbose (trace import statements); also PYTHONVERBOSE=x
can be supplied multiple times to increase verbosity
-V : print the Python version number and exit (also --version)
when given twice, print more information about the build
-W arg : warning control; arg is action:message:category:module:lineno
also PYTHONWARNINGS=arg
-x : skip first line of source, allowing use of non-Unix forms of #!cmd
-X opt : set implementation-specific option
--check-hash-based-pycs always|default|never:
control how Python invalidates hash-based .pyc files
--help-env : print help about Python environment variables and exit
--help-xoptions : print help about implementation-specific -X options and exit
--help-all : print complete help information and exit
Arguments:
file : program read from script file
- : program read from stdin (default; interactive mode if a tty)
arg ...: arguments passed to program in sys.argv c isdkz 发表于 2023-3-22 22:22
使用 python -h 可以看到在运行的时候用 -B 也可以实现不生成 __pycache__ ,比如 python -B xxx.py
...
哦,懂了
p.s:你是不是在用gpt? 一点沙 发表于 2023-3-23 07:17
哦,懂了
p.s:你是不是在用gpt?
这个不需要gpt,常识{:10_249:} isdkz 发表于 2023-3-23 09:26
这个不需要gpt,常识
哦 沙漠之烟 发表于 2023-3-22 22:10
大号帮忙传下图
?? 歌者文明清理员 发表于 2023-3-23 18:59
??
新鱼油传不了图,我就让主号传个图
页:
[1]