gpt4 book ai didi

python - 检查 sitecustomize 中的 python 交互模式

转载 作者:太空宇宙 更新时间:2023-11-04 10:59:47 25 4
gpt4 key购买 nike

我有一个 MOTD 类型的消息,它在调用解释器时打印。目前,这是在 sitecustomize 中打印出来的。如果解释器不处于交互模式,我想抑制消息;不幸的是所有检查 Tell if Python is in interactive mode不要在 sitecustomize 中工作。 (sys.argvsys.ps1__main__.__file__ 未填充。)是否有在 sitecustomize 中工作的检查?

最佳答案

JAB 让我查看了代码,我最终得出了这个结论:

import ctypes
import getopt

ctypes.pythonapi.Py_GetArgcArgv.restype = None
ctypes.pythonapi.Py_GetArgcArgv.argtypes = [
ctypes.POINTER(ctypes.c_int),
ctypes.POINTER(ctypes.POINTER(ctypes.c_char_p))]
count = ctypes.c_int()
args = ctypes.pointer(ctypes.c_char_p())
ctypes.pythonapi.Py_GetArgcArgv(ctypes.byref(count), ctypes.byref(args))
argc = count.value
argv = [args[i] for i in range(count.value)]
if argc > 1:
interactive = False
opts, args = getopt.getopt(argv[1:], 'i')
for o, a in opts:
if o == '-i':
interactive = True
else:
interactive = True

有点难看(对于 Py3k,c_char_p 需要是 c_wchar_p)但可以完成工作。

关于python - 检查 sitecustomize 中的 python 交互模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6600541/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com