我有以下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中打开的文件。
根据你想做的事情,你应该: 1:
"C:\\Program Files\\ParaView 4.4.0\\bin\\pvpython.exe" "C:\\folder\\inside\\my_stuff\\screens2.py" $file
for
在您的脚本中循环,并在每个文件之间重置会话。