![]()  | 
	
| 
	 | 
| 
		 
			 
			#1  
			
			
			
			
			
		 
		
	 | 
|||
		
		
  | 
|||
| 
		
	
		
		
			
			 
				
				Splitting a string into 3 ints, or getting x,y,z position
			 
			
			
			Hey, the project I'm currently working on requires me to store the players position in a text file, and then read the data back into the file to make a simulation of exactly what they did. 
		
		
		
		
		
		
		
		
	
	So far I can write the position in the file, and read it back out, however, when I read it out, I can only retrieve a string like "10,10,10" and need to split this into three floats, but nothing I'm doing seems to work. Either this, or if I could get the x, y, z position of the player individually, that might be easier. Thanks, Will.  | 
| 
		 
			 
			#2  
			
			
			
			
			
		 
		
	 | 
|||
		
		
  | 
|||
| 
		
	
		
		
		
		 
			
			Here's a code sample that shows how to parse the string "10,10,10" into a list of floating point numbers: 
		
		
		
		
		
		
		
		
	
	Code: 
	s = "10,10,10"
pos = [ float(x) for x in s.split(',') ]
print pos
 | 
| 
		 
			 
			#3  
			
			
			
			
			
		 
		
	 | 
|||
		
		
  | 
|||
| 
		
	
		
		
		
		 
			
			Thank you so much! You're a life saver.
		 
		
		
		
		
		
		
		
		
	
	 | 
| 
		 
			 
			#4  
			
			
			
			
			
		 
		
	 | 
|||
		
		
  | 
|||
| 
		
	
		
		
		
		 
			
			In the future, you might want to look at using the cPickle module for storing objects (lists, numbers, dictionaries, pretty much anything) in a text file and retrieving the same objects later on.  
		
		
		
		
		
		
		
		
	
	Here is an example where the rotation of the mainview of Vizard is stored in a text file (by pressing the d-key) and read from that file (by pressing the r-key): Code: 
	import viz
import cPickle
viz.go()
def writeInfo():
	orientation = viz.MainView.getEuler()
	file_rot = open('MainView_rot.txt', 'w+')
	cPickle.dump(orientation, file_rot)
	file_rot.flush()
	file_rot.close()
	print 'Succesfully pickled:', orientation
def readInfo():
	try:
		file_rot = open('MainView_rot.txt', 'r')
		orientation = cPickle.load(file_rot)
		file_rot.flush()
		file_rot.close()
		print 'Succesfully unpickled:', orientation
	except IOError:
		print 'Could not read file!'
	
def onKeyDown(key):
	if key in 'dD':
		writeInfo()
	elif key in 'rR':
		readInfo()
	else:
		pass
	
viz.callback(viz.KEYDOWN_EVENT, onKeyDown)
 | 
![]()  | 
	
	
		
  | 
	
		
  | 
			 
			Similar Threads
		 | 
	||||
| Thread | Thread Starter | Forum | Replies | Last Post | 
| writing joystick position to a data file | Saz | Vizard | 3 | 12-17-2008 06:18 AM | 
| String within a string problem? | Elittdogg | Vizard | 1 | 08-29-2008 02:35 PM |