沙漠之烟 发表于 2023-3-22 22:10:03

运行出现新文件夹

       在这里的测试题的第四题里,我按着小甲鱼的要求写了代码,运行正常,但是出现了个新文件夹__pycache__,里面就是ab两个程序,但是后缀便成了pyc。这是怎么回事?

沙漠之烟 发表于 2023-3-22 22:10:34

大号帮忙传下图

一点沙 发表于 2023-3-22 22:13:30

沙漠之烟 发表于 2023-3-22 22:10
大号帮忙传下图

好的

sfqxx 发表于 2023-3-22 22:13:53

是不是不小心打成了a.pyc?,b.pyc?

isdkz 发表于 2023-3-22 22:14:41

__pycache__ 文件夹是 Python 在运行程序时自动生成的。当你运行一个需要导入模块的 Python 程序时,Python 解释器会把模块的源代码(.py 文件)编译成字节码(.pyc 文件)。字节码是一种低级的、与平台无关的代码,用于提高程序运行速度。

Python 解释器会将这些 .pyc 文件保存在 __pycache__ 文件夹中,以便下次运行程序时直接加载,从而提高运行速度。

一点沙 发表于 2023-3-22 22:15:25

sfqxx 发表于 2023-3-22 22:13
是不是不小心打成了a.pyc?,b.pyc?

不是,你看主号的图

一点沙 发表于 2023-3-22 22:16:10

isdkz 发表于 2023-3-22 22:14
__pycache__ 文件夹是 Python 在运行程序时自动生成的。当你运行一个需要导入模块的 Python 程序时,Python ...

谢谢。那后缀的c是不是表示c文件?

isdkz 发表于 2023-3-22 22:17:19

一点沙 发表于 2023-3-22 22:16
谢谢。那后缀的c是不是表示c文件?

不是,那个 c 表示 compile(编译)

编译后的字节码的意思

沙漠之烟 发表于 2023-3-22 22:18:11

isdkz 发表于 2023-3-22 22:17
不是,那个 c 表示 compile(编译)

编译后的字节码的意思

谢谢!

isdkz 发表于 2023-3-22 22:20:26

沙漠之烟 发表于 2023-3-22 22:18
谢谢!

不客气,你如果不希望它自动生成那个 __pycache__ 的话可以添加一个环境变量 PYTHONDONTWRITEBYTECODE ,把这个环境变量的值设为 1

不过不建议这么做,因为 __pycache__ 是用来提高程序运行效率的

isdkz 发表于 2023-3-22 22:22:23

一点沙 发表于 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

sfqxx 发表于 2023-3-22 22:23:34

c

一点沙 发表于 2023-3-23 07:17:54

isdkz 发表于 2023-3-22 22:22
使用 python -h 可以看到在运行的时候用 -B 也可以实现不生成 __pycache__ ,比如 python -B xxx.py

...

哦,懂了
p.s:你是不是在用gpt?

isdkz 发表于 2023-3-23 09:26:39

一点沙 发表于 2023-3-23 07:17
哦,懂了
p.s:你是不是在用gpt?

这个不需要gpt,常识{:10_249:}

一点沙 发表于 2023-3-23 10:03:49

isdkz 发表于 2023-3-23 09:26
这个不需要gpt,常识

歌者文明清理员 发表于 2023-3-23 18:59:33

沙漠之烟 发表于 2023-3-22 22:10
大号帮忙传下图

??

沙漠之烟 发表于 2023-3-23 20:16:38

歌者文明清理员 发表于 2023-3-23 18:59
??

新鱼油传不了图,我就让主号传个图
页: [1]
查看完整版本: 运行出现新文件夹