gpt4 book ai didi

python - 当我在脚本中使用 __name__ 变量时出现运行时警告

转载 作者:太空宇宙 更新时间:2023-11-03 14:28:43 25 4
gpt4 key购买 nike

我尝试在 python 脚本的开头使用 ___name__:

#!/usr/bin/python
# Comments...
# blabla
#

__name__="cigarline_by_pos.py"
__synopsis__ = "cigarline_by_pos.py | INPUT_BAM_FILE --output OUTPUT_FILE [--output OUTPUT_FILE_R2 --readsplit]"
__example__ = "cigarline_by_pos.py hg18.bam --output hg18_read1.csv --output hg18_read2.csv --readsplit"
__date__ = "05/2013"
__authors__ = "Frederic Escudie & Antoine Leleu"
__keywords__ = "SAM Alignment"
__description__ = "Sum by position the status of reads. This provides for example the number of reads that have a mismatch at first base."

__version__ = '2.3.1'


import argparse,re,sys

the rest of the code...

但随后 Python 会打印一条警告:

cigarline_by_pos.py:29: RuntimeWarning: Parent module 'cigarline_by_pos' not found while handling absolute import
import argparse,re,sys

而且我不知道它可能来自什么。

我只知道如果我删除带有 ___name__ 的行,我的脚本就可以工作,但我需要这个变量。

有人可以帮帮我吗?

最佳答案

你不应该在你的脚本中设置__name__; Python 已经设置它并依赖于其他目的的值,例如导入。可以更改 python 脚本或模块的 __name__ 值,但在尝试这样做之前,您需要知道自己在做什么并了解 Python 的内部结构。

甚至一般不要设置双下划线变量。它们仅供 Python 使用;仅当它们被记录为可设置时才设置它们,例如模块中的 __all__

参见 Python data model documentation有关当前使用的双下划线名称(dunder 名称)的概述。

关于python - 当我在脚本中使用 __name__ 变量时出现运行时警告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15482278/

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