'&set "OUTFILE=C:\Users\铭创\Desktop\info.txt"这段代码怎么没起作用
时间: 2023-07-21 17:46:45 浏览: 81
这段代码是一个 Windows 中的批处理命令,它的作用是将一个环境变量 OUTFILE 的值设置为 "C:\Users\铭创\Desktop\info.txt"。这个环境变量可以在之后的代码中被引用。但是,如果这段代码没有起作用,可能是因为在运行之前没有正确设置环境变量或者执行该代码的权限不足。您可以检查一下是否正确设置了环境变量,并且用管理员权限运行该代码。
相关问题
'&set "OUTFILE=C:\Users\铭创\Desktop\info.txt"
这段代码的作用是设置一个名为 OUTFILE 的环境变量,并将其值设置为 "C:\Users\铭创\Desktop\info.txt"。在后续的代码中,可以使用 `%OUTFILE%` 来引用这个环境变量的值。例如,可以使用以下命令将一些文本写入到 OUTFILE 所指定的文件中:
```
echo "这是写入到文件中的文本" > %OUTFILE%
```
这将会把 "这是写入到文件中的文本" 这段文本写入到 C:\Users\铭创\Desktop\info.txt 文件中。
import argparse import numpy as np from openeye import oechem def clear_stereochemistry(mol): clear_atom_stereochemistry(mol) clear_bond_sterochemistry(mol) oechem.OESuppressHydrogens(mol, False, False, False) def clear_atom_stereochemistry(mol): for atom in mol.GetAtoms(): chiral = atom.IsChiral() stereo = oechem.OEAtomStereo_Undefined v = [] for nbr in atom.GetAtoms(): v.append(nbr) if atom.HasStereoSpecified(oechem.OEAtomStereo_Tetrahedral): stereo = atom.GetStereo(v, oechem.OEAtomStereo_Tetrahedral) if chiral or stereo != oechem.OEAtomStereo_Undefined: atom.SetStereo(v, oechem.OEAtomStereo_Tetrahedral, oechem.OEAtomStereo_Undefined) def clear_bond_sterochemistry(mol): for bond in mol.GetBonds(): if bond.HasStereoSpecified(oechem.OEBondStereo_CisTrans): for atomB in bond.GetBgn().GetAtoms(): if atomB == bond.GetEnd(): continue for atomE in bond.GetEnd().GetAtoms(): if atomE == bond.GetBgn(): continue v = [] v.append(atomB) v.append(atomE) stereo = bond.SetStereo(v, oechem.OEBondStereo_CisTrans, oechem.OEBondStereo_Undefined) def abs_smi(x): mol = oechem.OEGraphMol() if oechem.OESmilesToMol(mol, x): clear_stereochemistry(mol) return oechem.OEMolToSmiles(mol) else: return np.nan if __name__ == '__main__': parser = argparse.ArgumentParser(description="Remove stereochemistry from the input data set.") parser.add_argument("--in",dest="infile",help="whitespace-delimited input file",metavar="in.csv") parser.add_argument("--out", dest="outfile", help="output file", metavar="out.csv") args = parser.parse_args() n=0 with open(args.infile, 'r') as ifs: with open(args.outfile, 'w') as ofs: for line in ifs: if n==0: ofs.write(line) n=1 else: parsed = line.strip().split(',') if ('.' not in parsed[0]): ofs.write(f"{abs_smi(parsed[0])},{parsed[1]}\n")
这段代码是一个用于清除分子中立体化学信息的 Python 脚本。它使用了 OpenEye 包中的 oechem 模块来操作分子,并可以通过命令行参数指定输入输出文件。
脚本的主要功能在于定义了三个函数:`clear_stereochemistry`、`clear_atom_stereochemistry` 和 `clear_bond_sterochemistry`,它们分别用于清除分子中的原子立体信息、键立体信息和所有立体信息。这些函数都是通过遍历分子的原子和键,检查是否存在立体信息并将其清除来实现的。
另外,脚本还定义了一个名为 `abs_smi` 的函数,该函数将 SMILES 格式的分子字符串作为输入,并返回一个没有立体信息的 SMILES 字符串。它首先将输入的 SMILES 字符串转换为分子对象,然后调用之前定义的 `clear_stereochemistry` 函数清除立体信息,最后将分子对象转换回 SMILES 格式并返回。
在 `if __name__ == '__main__':` 语句块中,脚本使用 argparse 模块解析命令行参数,然后打开输入文件读取数据并将结果写入输出文件。对于每一行数据,脚本使用 `abs_smi` 函数先清除分子中的立体信息,然后将处理后的 SMILES 字符串写入输出文件。
阅读全文