python - 如何在 vs 代码中使用 sysargv 模块?
问题描述
我一直在尝试根据分子与参考分子的结构相似性来过滤分子数据库,但脚本无法正常工作,因为 od 警告“发生异常,请使用 %tb 查看完整回溯。” 我在 vs 代码中使用 jupyter notebook。
有问题的行是: if len(sys.argv)!=5 :
sys.exit("usage : python tetheredMinimization.py reference.sdf output1.sdf outputtethered.sdf outputnontethered.sdf")
import sys from rdkit import Chem from rdkit.Chem import AllChem from rdkit.Chem import rdFMCS from rdkit.Chem.rdMolAlign import AlignMol
如果 len(sys.argv)!=5 :
sys.exit("用法:python tetheredMinimization.py reference.sdf output1.sdf outputtethered.sdf outputnontethered.sdf")ratioThreshold=0.20
参考 = Chem.MolFromMolFile(sys.argv[1], removeHs=True)
配体 = Chem.SDMolSupplier(sys.argv[2],removeHs=True)w=Chem.SDWriter(sys.argv[3]) wnt=Chem.SDWriter(sys.argv[4])
解决方案
如果您使用 Jupyter,您可能不想使用sys.argv
,这通常用于检索命令行参数。在 Jupyter 中使用时,您很可能会得到用于启动 IPython 的参数,这也可能不满足len(sys.argv) == 5
. 而不是使用它,只需在代码中定义您的参数并将您使用sys.argv
过的所有位置替换为正确的变量。
推荐阅读
- javascript - 使用 Web API 检索块中的文件数据以在浏览器中显示 (WIP)
- gcc - 如何让 GCC 将“移动 r10,r3;存储 r10”组合成“存储 r3”?
- javascript - Vue 组件在 store 中更改自己的属性
- python - 如何旋转并将每列的平均值转换为行
- mysql - sequelize 不是唯一的表/别名
- python - 如何在 Python 类中制作整数列表
- c# - 在 ASP.net Core MVC 2.1 中创建文本文件并下载而不保存在服务器上
- android - Android Studio - calenderViewShown - 为什么删除它允许我的代码编译?
- bash - 使用linux命令将四列转换为两列
- javascript - 鼠标悬停时JS文本更改