View Single Post
  #1  
Old 03-21-2008, 02:03 PM
adimov adimov is offline
Member
 
Join Date: Sep 2003
Location: Santa Barbara, CA
Posts: 11
Writing text files with executable

Hi,

I'm trying to generate a text file via an executable but it is not creating a file. Here's the code (the main code, a Parser module and how the the input csv file should look):

import viz
import Parser

viz.go()


def CreateTemplate():
# Creates a sequence of zeroes and ones based on the duration and SampleRate and the input data
length = int(duration+1)
print "Duration: " + str(length)
outputsequence = []
for i in range (0, length):
if (i in sequence):
outputsequence.append(1.0)
print "SUCCESS: " + str(i)
else:
outputsequence.append(0.0)
return outputsequence


sequence = Parser.getSequence()
print sequence
duration = max(sequence)

CreateTemplate()

# Opens file 'response.txt' in write mode
file = open('response.txt', 'w')




# Define a function that saves data
def SaveData():
# Create the output string
data = CreateTemplate()
for each in data:
out = str(each) + '\n'
# Write the string to the output file
file.write(out)
# Makes sure the file data is really written to the harddrive
file.flush()
print "DONE"


# Define a function that is called every time a keyboard button is pressed
def mykeyboard(key):
# Calls the function SaveData and hands it the current time and key
if key==' ':
SaveData()

# Defines a callback for keyboard events
viz.callback(viz.KEYBOARD_EVENT, mykeyboard)

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

import csv
import viz
SampleRate = 1.0 # samples per msec

def getSequence(name = 'inputdata.csv', language = 'English'):
mesg = viz.input('Enter the filename:')
name = str(mesg)
sequence = []
sequenceFile = open(name)
reader = csv.reader(sequenceFile)
for line in reader:
# adjust the resolution of the input based on sample rate
# We have to basically multiply each element in the input sequence by
# the SampleRate (defined as samples per msec and assuming all input is in msec)
# and use that integer result
sequence.append(int(SampleRate*float(line[0])))
return sequence


if __name__ == "__main__":
#testing code
sequence = getSequence()
for item in sequence:
print item

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
csv file:

1
2
3
8
9
Reply With Quote