#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 05:18 AM |
String within a string problem? | Elittdogg | Vizard | 1 | 08-29-2008 01:35 PM |