954,525 Members — Technology Publication meets Social Media
Username:
Password:
Lost login information?
Have something to say? Contribute New Article Reply to this Article

problem writing to a text file.

description:
Reading data from active directory. some names have the French accented E. when I write to screen, no problems. when I write to a .txt file the program errors out with...

Traceback (most recent call last):
File "ad-listing.py", line 20, in
print >> OutFile, person.displayname,"~",person.title,\
UnicodeEncodeError: 'ascii' codec can't encode character u'\xe9' in position 9:
ordinal not in range(128)

when I try something fancy like...

print >> OutFile,(person.displayname,'utf8').....

the output of that field is...
(u'Keith Brown', 'utf8')
(u'FTP TELUS', 'utf8')
(u'FTP AT&T', 'utf8')
(u'FTP EPCOR', 'utf8')
(u'FTP SHAW', 'utf8')

WHen I try to chop off the "(u'" at the start and "', 'utf8')" at the end all the data disappears leaving the brackets..

Is the any function that can do a simple straight conversion to text so that I can print the data to a file with out massaging the heck out of the data?

Python 2.6, Windows XP Pro, Active directory

I'm trying this in Python to try to introduce an Open Source programing language where I work.

nicsmr
Newbie Poster
1 post since Oct 2009
Reputation Points: 10
Solved Threads: 0
 

You can set the encoding for the file
fp = codecs.open('test', encoding='utf-8', mode='w')

Or you can change the default encoding for the system
sys.setdefaultencoding('utf-8')

You may have to use encode/decode, see here
http://farmdev.com/talks/unicode/

woooee
Nearly a Posting Maven
2,454 posts since Dec 2006
Reputation Points: 777
Solved Threads: 714
 
vegaseat
DaniWeb's Hypocrite
Moderator
5,989 posts since Oct 2004
Reputation Points: 1,345
Solved Threads: 1,417
 

This article has been dead for over three months

Post: Markdown Syntax: Formatting Help
You