Python 3 中的 execfile() 函数错误:如何解决
在 Python 3 中,您可能会遇到以下错误:
'File "/home/sun/miniconda3/envs/pymol/lib/python3.7/site-packages/pmg_qt/pymol_qt_gui.py", line 895, in file_run
self.cmd.run(fname)
File "/home/sun/miniconda3/envs/pymol/lib/python3.7/site-packages/pymol/parsing.py", line 483, in run
run_(path, ns_pymol, ns_pymol)
File "/home/sun/miniconda3/envs/pymol/lib/python3.7/site-packages/pymol/parsing.py", line 532, in run_file
execfile(file,global_ns,local_ns)
File "/home/sun/miniconda3/envs/pymol/lib/python3.7/site-packages/pymol/parsing.py", line 527, in execfile
exec(co, global_ns, local_ns)
File "/media/sun/yingpan/linux/caver/example/out/pymol/view_timeless.py", line 10, in
'
该错误是由于在文件'/media/sun/yingpan/linux/caver/example/out/pymol/view_timeless.py'中的第10行中调用了'execfile('./modules/rgb.py')'引起的。'execfile()' 函数在 Python 3 中已被移除。
解决方法:
- 使用 open() 函数读取并执行文件:
将 'execfile('./modules/rgb.py')' 替换为 'exec(open('./modules/rgb.py').read())'。 这将使用 Python 3 中的'exec()' 函数来执行文件。
- 直接导入并调用文件中的函数:
如果您只是想运行 'rgb.py' 文件,而不是使用 'execfile' 函数,您可以直接导入并调用该文件中的函数或代码。例如,您可以使用 'from modules.rgb import some_function' 来导入并调用 'rgb.py' 中的 'some_function' 函数。
请注意,这只是两种可能的解决方法。具体取决于您的代码和需求,您可能需要进行其他调整。
原文地址: https://www.cveoy.top/t/topic/fSzC 著作权归作者所有。请勿转载和采集!