<br><br><div class="gmail_quote">On Thu, May 29, 2008 at 9:43 PM, Jean Favre &lt;jfavre@cscs.ch&gt; wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
 May I suggest the use of the python glob module.<br>
I have just tried it inside a programmable source and it works fine.<br>
Glob will look for all filenames following a pattern. You might also<br>
want to sort them alphabetically after you have created the array<br>
&nbsp;<br>
here is an example<br>
&nbsp;<br>
import glob<br>
&nbsp;<br>
files = glob.glob(&quot;file*.dat&quot;)&nbsp; # creates the array you wanted<br>
files.sort()&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # sorts them<br>
&nbsp;<br>
i = 0<br>
while i &lt; len(files):<br>
&nbsp;&nbsp;&nbsp;&nbsp;print files[i]<br>
&nbsp;&nbsp;&nbsp;&nbsp;i = i + <font color="#888888"><br></font></blockquote><div><br>Thank you Robert and Jean.<br>Jean&#39;s idea indeed solved the file handling problem. <br>But now i found that the script is able to show only one curve at&nbsp; a time, i.e the last one in the file*.dat,&nbsp; eventhough it reads all the files.<br>
How do I solve the issue.? or is it that for each file I have to have different programmable filter.<br>Here is the script I used.. It would be great if some one can help me in this regard.<br>thanks in advance.<br>Sreejith<br>
<br>#!/usr/bin/python<br>import string, sys, math,glob<br>pdo = self.GetPolyDataOutput()<br>FILES=glob.glob(&quot;file_name*.dat&quot;)<br>FILES=sort()<br>for filename in FILES:<br>&nbsp;&nbsp; file=open(filename,&#39;r&#39;)<br>&nbsp;&nbsp; point=0<br>
&nbsp;&nbsp; #This will store the points for the lines<br>&nbsp;&nbsp; newPts = paraview.vtkPoints()<br>&nbsp;&nbsp; for line in file:<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; #read x,y,z values<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; x = float( line.split()[0] )<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; y = float( line.split()[1] )<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if(len(line.split())==3): # in 3D<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; z = float( line.split()[2] )<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; else:<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; z=0.0 # in 2D<br>&nbsp;&nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; newPts.InsertPoint(point, x,y,z)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; point+=1<br>&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp; pdo.SetPoints(newPts)<br>&nbsp;&nbsp; aPolyLine = paraview.vtkPolyLine()<br>
&nbsp;&nbsp; aPolyLine.GetPointIds().SetNumberOfIds(point)<br>&nbsp;&nbsp; for i in range(0,point):<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; aPolyLine.GetPointIds().SetId(i, i)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; pdo.Allocate(1, 1)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; pdo.InsertNextCell(aPolyLine.GetCellType(), aPolyLine.GetPointIds())<br>
file.close()<br><br><br><br></div></div><br>