使用 python 代码到 运行 ptraj 文件

Using python code to run ptraj file

我正在 运行在坐标文件上创建一个 watershell ptraj 文件,以查找盐离子到特定原子的距离。我已经制作了 watershell 命令,我正在尝试编写一个 python 代码,可以 运行 watershell 获取一系列值。命令如下:

for xi in range(0, 25, 0.2):
    x = xi
    y = xi + 0.2
    file = 'file1'+str(xi)+'.dat'
    command = 'watershell :141-182@C1 output.dat lower xi upper y :183-392@Na+'
    print(x,y)

我收到 TypeError: 'float' object cannot be interpreted as integer.

表达式range(0, 25, 0.2)不合法。步长必须是整数,因此不允许为 0.2。我猜你必须使用 for 循环。

范围函数不会将浮点数作为步长值;相反,您必须使用 int。您可以通过使用乘数来解决这个问题,然后在需要使用变量时进行除法,尝试这样的事情:

for xi in range(0, 250, 2):
    x = round(xi / 10.0,1)
    y = round(xi / 10.0,1) + 0.2
    file = 'file1'+str(xi)+'.dat'
    command = 'watershell :141-182@C1 output.dat lower xi upper y :183-392@Na+'
    print(x,y)