gpt4 book ai didi

python - 无法将变量传递给 Paraview 脚本

转载 作者:行者123 更新时间:2023-12-04 10:07:27 26 4
gpt4 key购买 nike

我有以下 bash 脚本

for f in C:/folder/inside/my_stuff/*; do
cd "$f" &&
for file in *.ply; do
"C:\\Program Files\\ParaView 4.4.0\\bin\\paraview.exe" --script="C:\\folder\\inside\\my_stuff\\screens2.py" $file
done
done

该脚本应该将 .ply 文件加载到 Paraview 中,然后执行一些命令,但我需要通过 $file到 Python 脚本,以便它知道要打开哪个文件。

我的脚本的开头是这样的:
#### import the simple module from the paraview
from paraview.simple import *
import numpy as np
import glob
import sys
#### disable automatic camera reset on 'Show'
paraview.simple._DisableFirstRenderCameraReset()

files = sys.argv[1]

但是当我运行脚本时出现错误:
File "<string>", line 9, in <module>
AttributeError: 'module' object has no attribute 'argv'

所以变量不会传递给脚本。奇怪的是,.ply 文件确实加载到 Paraview 中,但没有执行任何命令。我试过 sys.argv[0] , sys.argv[2] , sys.argv[3] , sys.argv[file] , sys.argv['file'] ,但没有任何作用。

最佳答案

ParaView 不会将参数转发给脚本。未知的命令行参数被解释为要在 ParaView 中打开的文件。

根据您想要做什么,您应该:

  • 使用 pvpython 可执行文件而不是 paraview 一个(如果您不需要自己使用 GUI)
  • "C:\\Program Files\\ParaView 4.4.0\\bin\\pvpython.exe" "C:\\folder\\inside\\my_stuff\\screens2.py" $file
  • for在脚本中循环并重置每个文件之间的 session
  • 关于python - 无法将变量传递给 Paraview 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61506726/

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