Python Wiki
  • Python Wiki
  • PSF Wiki
  • Jython Wiki
    • Edit with CMS Use the web-based editor to create or edit wiki pages
    • Edit on GitHub Fork the repository and submit changes via pull request
/
  • Python Wiki
    • Archive
      • Aaronwatters
      • Admin
      • Andrew Kuchling
      • Asking For Help
      • Console
      • Email Sig
      • Etiennerobillard
      • Gis
      • Jam
      • Languages
      • Marc Andre Lemburg
      • Martinvonloewis
      • Pavloshevelo
      • Podcast
      • Powerpiano 17
      • Pythonconsulting
      • Pythonlibraryreference
      • Pythontraining
      • Yarko
      • Lwickjr
      • Techtonik
      • 2.x-vs-3.x-survey
      • API
      • API Extraction
      • Adapters and Interfaces Sprint
      • Adarshreddyash
      • Alexis Le Quoc
      • Anand B Pillai
      • Andybebad
      • Anthon van der Neut
      • Any GUI
      • APAC PyCon Wiki
      • App Engine
      • App Localization
      • App Logging
      • Application Frameworks
      • Application Infrastructure
      • Application Support Libraries
      • Applications
      • April Fools
      • Arabi CPython Books
      • Arithmo Graph
      • Arlington Sprint
      • Array Interface
      • Article Ideas
      • Ashley ZT
      • Ask Apache
      • Asking for Help
      • Asking for Help Template
      • At Aud iOS print
      • Attendee Notes
      • Attribute Based Syntax
      • Aug 2001 DB API 3 Strawman
      • Austin Python User Group
      • Auto XML RPC CGI
      • Auto XML RPC Server
      • Automated Refactoring Tools
      • BBR
      • BDFL
      • Base HTTP Server
      • Bazaar
      • Be Thon
      • Beginner Errors with Python Programming
      • Beginners Workshop
      • Berkeley DB
      • Better PyPI
      • Better Zope 2 Blob Support Sprint
      • Bharath venkatesh
      • Bicycle Repair Man
      • Bin Py
      • Birds of a Feather
      • Bit Arrays
      • Bit Manipulation
      • Bitwise Operators
      • Black Rose
      • Blaise Pascal
      • Boa Constructor
      • Boston Pig
      • Boulder Jam
      • Boulder Sprint
      • Box Model
      • Brain Storm
      • Brian Mc Enery
      • Bruger Indstillinger
      • Bug Tracking
      • Build an Intranet
      • Build PyQt4 Windows
      • Build Statically
      • Building Python with the free MS C Toolkit
      • Bundle Builder
      • Bv B 28 Aug
      • Bytes IO
      • Bytes Str
      • CAPI Cook Book
      • CJ
      • CLA
      • CLPython
      • Call for Paper 2011
      • Can I get a job with python?
      • Can Do
      • Canberra PUG
      • Castalian
      • Castelli Di Sabbia
      • Cat-tuong chu
      • Catalog Sig
      • catinsunshine
      • Cerca Pagina
      • CGI Scripts
      • Chaco
      • Chandler BOF
      • Chandler Sprint
      • Changements Récents
      • Charlottesville Python User Group
      • Cheese Shop
      • Cheese Shop Dev
      • Cheese Shop Tutorial
      • Cheetah
      • Chi Py
      • China Python User Group
      • Choice of Freebies
      • Choosing Database
      • Choosing GUI Toolkits
      • Chris at Lee
      • Chris Mc Donough
      • Chun Lin Zhang
      • Classic Structured Text
      • Cleanup URL Lib Project
      • Cleanup Urllib
      • Clear Silver
      • Client Side Web Cache
      • Climb Bo F
      • Cmd Module
      • Cobra
      • Code
      • Code Coverage
      • Code Discovery Use Cases
      • Code Tag
      • Codevisionz
      • Codice
      • Commandline Tools
      • Comment Based Syntax
      • Commercial Services
      • Common Ideas
      • Community
      • Community Job Boards
      • Comp Lang Python
      • Comparing Types
      • Complete SSL Support
      • Computer Camp Alexis
      • Con Text
      • Concatenation Test Code
      • Conceptual Roadmap
      • Config Obj
      • Configuration and Build Tools
      • Content Management Systems
      • Continuous Integration
      • Convention Howto
      • Cool Goose
      • Core Python
      • Core Dev Helper Tools
      • Core Development
      • Core Sprint
      • Courses
      • Crashing Python
      • Creating Buzz
      • Crusader
      • Cubic Temp
      • Curses Programming Links
      • Cvs to Svn
      • D Waldo Anderson
      • DB2
      • DC Python Nov 2010 Sprint
      • Da Liu Aus
      • Daniel Van Stone
      • Data Processing and Numerical Analysis
      • David Alan Foster
      • David Boddie Work
      • David Le Blanc
      • David M Patterson
      • David Mac Quigg
      • DB Obj
      • Dbus Examples
      • Dead Link
      • Dead Links
      • Debugging with Gdb
      • Decorator Pattern
      • Default Encoding
      • Delegation Event Model
      • Dependency Injection Pattern
      • Desert Py
      • Design Market Message
      • Desired Tracker Features
      • Deutsche Schlangen
      • Development Tools
      • Diacritical Editor
      • Diagrams
      • Dictionary Keys
      • Distribution Utilities
      • Dive Into Python
      • Divei Into Web
      • Diversity in Python
      • Diversity Statement Discussion
      • Dmitry S
      • Doc Sig
      • Doc Tools
      • Doc XML RPC Server
      • DocUtils BOF
      • DocUtils Sprint
      • Dopy
      • Dori
      • Doug
      • Dr Python
      • Dr Scheme
      • Draco
      • Dream Pie Feature Requests
      • Dream Pie Mac Support
      • Dubious Python
      • Duncan Mc Greggor
      • Dunder Alias
      • Durus
      • Dutch Python Books
      • Dvcs Comparison
      • EDAtools
      • EWDurbin
      • Early 2to 3 Migrations
      • Easy As Py
      • Edit Python Code Chinese
      • Editor Configuration Howto
      • Edu Python 2008
      • Edward Mokurai Cherlin
      • Eff Bot
      • Elections Workgroup Planning
      • Element Based Syntax
      • Element Tree
      • Em Py
      • Email SIG
      • Email Sig Sprint
      • Email Sprint
      • Embedded Python
      • Embeding PyQt Tutorial
      • Empty Subscript List PEP
      • Enfold Systems
      • Engineering Libraries
      • Enhanced PyPI
      • Enomalism
      • Enterprise Java Beans
      • Enthought Python
      • Entransit
      • Enumeration Programming
      • Environment Variables
      • Epy Doc
      • Erik Max Francis
      • Erik Van Blokland
      • Escaping HTML
      • Escaping XML
      • Esky
      • Executable Modules
      • Execution Scenar iOS
      • Extending the DB API
      • Extreme Programming
      • F2PY
      • Fabio
      • Find Side
      • Finite State Machine
      • Firebird
      • Fiscal Sponsorship
      • Flexible String Representation
      • Flourish 2011 Sprint
      • Flow Based Programming
      • For Loop
      • For Side
      • Form Encode
      • Format Reference
      • Forældreløse Sider
      • Frank Willison Award
      • Free Hosts
      • Free Memory
      • Free Software
      • Freeze
      • French Python Books
      • Frequently Rejected Ideas
      • From Function to Method
      • Function Wrappers
      • Functional Programming
      • Future Proof Python
      • Fx Py
      • Föräldrarlösa Sidor
      • GUI Programming in Python
      • Gadfly
      • General Libraries
      • German Python Books
      • Git
      • Git Svn Old
      • Global Interpreter Lock
      • Gm Py
      • Gnome Python
      • Gnu Emacs
      • Gnu Enterprise
      • Gnu Privacy Guard
      • Go Client Server
      • Google
      • Google Groups Python
      • Google Sprint
      • Google Sprint Py3k
      • Google Tips
      • Grako
      • Graphics and Images
      • Graphics BOF
      • Greek Python Books
      • Grok Sprint
      • Guido van Rossum
      • Guidovan Robot
      • GvR
      • Harvest Man
      • Health Care
      • Helping Python
      • Hidden Jewels
      • High Score
      • Higher Level Database Programming
      • Hjemmeside Skabelon
      • How do I keep a GUI alive during a long-running subprocess?
      • How Foss Conf Works
      • Hp Python Business Libraries
      • Humor
      • Hungarian Python Books
      • Hyper Toons
      • IPyKit
      • IPython
      • Idea Repository
      • If Statement with Value
      • Image Magick
      • Imp Module
      • Improving Lib Tests
      • InPyCon Design
      • In Their Own Words
      • Indonesia PUG
      • Infinite Filing Cabinet Open Space
      • Information Retrieval
      • Informix
      • Ingres
      • Initial Testing Plan
      • Inn and Conference Center
      • Integrating Python with Other Languages
      • Integration Lab
      • Inter Systems IRIS
      • Inter Wiki Map
      • Intermediate Conundrums
      • Intermediates Guide
      • International Python Conference
      • Internet Cafe
      • Internet Support
      • Intro to programming with Python and Tkinter
      • Inventory
      • iOS laves Tutorial
      • Iounchan
      • Irmen De Jong
      • Is there any tiny project or source for participation or reference
      • Italian Python Urlo Coordination
      • Italian Python Urlo Sources
      • Ivo
      • JAM
      • J Alan Brogan
      • JM
      • JOTWeb2
      • JPype
      • JZA
      • Jaguar
      • Jakarta PUG
      • Japanese Python Books
      • Java Data Objects
      • Je Xt
      • Jehovany
      • Jepp
      • Jim D
      • Jims PyCon Sprint Message
      • Jira Tracker
      • Jo Base
      • John MG
      • Jonathan Gardner PyQt Tutorial
      • Jons Python Modules
      • Just Another Pythoneer
      • Just Van Rossum
      • Jython
      • Jython Books
      • Jython Projects
      • Jython Sprint
      • Jython Success Stories
      • Jython Uses
      • Jürgen Hermann
      • KWWidgets
      • Ka Ping Yee
      • Kanis
      • Karrigell
      • Kategori Hjemmeside
      • Kategori Kategori
      • Keeping Lists in Dictionaries
      • Kesara
      • Key Error
      • Kirby Base
      • Kiwi
      • Kofiboadi
      • Komodo
      • L.I.S.A
      • LDLandis
      • Language Comparisons
      • Languages
      • Large Python Projects
      • Launchpad Tracker
      • Learn by Observation
      • Learn to Program
      • Learning Repertoire
      • Legacy Python Website
      • Leo Editor
      • Libraries
      • Library References Names
      • Lightning Talks
      • LinkedIn Python Individuals
      • LinkedIn Python Network
      • List of Interested Sprinters
      • List of Performance Related Patches
      • Lluis P 9
      • Lo Gix
      • Loading Modules Dynamically
      • Local Names Description
      • Localizing Chandler
      • Logging Package
      • Logic Tools
      • London Financial Python User Group
      • M2Crypto
      • MSS
      • Magyar Python
      • Mail Archiving Open Space
      • Mailing Lists and Newsgroups
      • Mailman 3 Sprint
      • Mailman with Google Groups
      • Manutenere Le Eccezioni
      • Marc Andre Lemburg
      • Martelli Bot
      • Mathai
      • Matplotlib Sprint
      • Matt D Mo
      • Md 5 Passwords
      • Melbourne PUG
      • Memento Pattern
      • Memory Usage Profiler
      • Mercurial
      • Meta Design Solutions
      • Meta Kit
      • Microsoft Access
      • Mid Summer
      • Middle Kit
      • Miguel González
      • Mini Dom
      • Minsk Python Meetup
      • Mirroring infrastructure
      • Missing from Documentation
      • Mod Python
      • Mod Python BOF
      • Modifiche Recenti
      • Modules As Plugins
      • Monta Vista
      • More Info
      • Most Popular Python Projects
      • Movable Python
      • Moving to Python from Perl
      • Mpl Mentors
      • Multi Line Lambda
      • Multi Line Strings in Doc Test
      • Multiple Dispatch
      • Myth Debunking
      • Naviga Il Sito
      • Navigation Site
      • Negros PUG
      • Netezza
      • Netflix Prize BOF
      • Networked Data
      • Networking Support
      • New Class vs Classic Class
      • New Users Group
      • Node Box
      • Non Commercial Hosting
      • Notebook Interface for Ipython
      • Num Array
      • OAuth2
      • ODBC
      • ODBCDrivers
      • OSPP
      • Object Manager Item
      • Ocean
      • One Laptop Per Child
      • Open Space
      • Open Embedded
      • Open Komodo
      • Open Source
      • Open Space
      • Open Space Sessions
      • Operator Hook
      • Opt Parse
      • Option Parsing
      • Organizations Using Python
      • Organizers Meetings Connection Details
      • Original Call for Trackers
      • Original Web Programming Classification
      • Other Commercial Hosts
      • Other Python Wikis
      • Out of Print Books
      • PATX
      • PEEPs
      • PEP 3107 Function Annotations Rehash
      • PSFInfrastructure
      • Package Popularity
      • Pallavi
      • Parallel Distutils
      • Parallel Processing
      • Parsing for Educational Linguistics
      • Past CPUG Meetups
      • Patch Triage
      • Path Class
      • Path Module
      • Path Module Tests
      • Pattern Programming
      • Patterns in Python
      • Paul Mc Guire
      • Paul Mc Nett
      • Pdb Improvments
      • Pdb Rc Idea
      • People Filter
      • PEP 382 Sprint
      • Perl Phrasebook
      • Persian Python Books
      • Persistence Tools
      • Philip
      • Php Phrasebook
      • Pickle
      • Pierre Alexandre SCHEMBRI
      • Plotly
      • Pmw
      • Podcast
      • Points and Rectangles
      • Polish Python Coders Group
      • Polish Python Books
      • Portable Python
      • Portuguese Python Books
      • Post Script
      • Power Piano 17
      • Pratul 1997
      • Praveen
      • Preferencias Del Usuario
      • Presentation Software
      • Presenter Sign Up
      • Previous Meeting on October 11 2007
      • Print As Function
      • Print Fails
      • Processo Programma
      • Programmatic
      • Project File and Directory Layout
      • Promoting Python BOF
      • Proposal for PyCon India
      • Proposal to Speed Up List Operations
      • Proxy Programming
      • PSF Materials
      • Publishing Python Modules
      • Pull Dom
      • Py Swallow Mail
      • Py2JS
      • PyACTS
      • PyAmazon
      • PyAnt
      • PyAr 2
      • PyAudio
      • PyBison
      • PyBrenda
      • PyCS
      • PyCell Studio
      • PyChart
      • PyChecker
      • PyChem
      • PyCore Ast Sprint
      • PyCore Sprint
      • PyCrust
      • PyDo
      • PyDS
      • PyDS Tool
      • PyDev
      • PyDoc
      • PyFit
      • PyFltk
      • PyGE
      • PyGSL
      • PyGUI
      • PyGd Chart
      • PyGd Module
      • PyGeo
      • PyGObject
      • PyGTK
      • PyGTK -ctypes
      • PyGTK 2 Tk
      • PyIMSL
      • PyIMSL Studio
      • PyInstaller
      • PyInterpreter
      • PyJaipur
      • Pyjamas
      • PyKDE
      • PyLaunchy
      • PyLint
      • PyLint-3k
      • PyLog
      • PyLucene
      • PyMat
      • PyMedia
      • PyMeld
      • PyMite
      • PyMy CMS BOF
      • PyObjectivec
      • PyOpenGL PyGame Open Space
      • PyPE
      • PyPerl
      • PyPerlish
      • PyPI Documentation Hosting
      • PyPI Implementations
      • PyPI Test Server
      • PyPort Midi
      • PyScripter
      • PySerial
      • PySide
      • PySimple GUI
      • PySnd Obj
      • PySoy
      • PyTable
      • PyTables
      • PyTextile
      • PyTrails
      • PyUi
      • PyUnit
      • PyWX
      • PyWeek
      • PyWiew
      • PyWin 32
      • Pyarmor
      • PyCon 2011 Sprint
      • PyCon India Checklist
      • PyCon Z 3 Sprint Questions
      • Pydotorg Redesign
      • Pyed Pyers
      • Pyjamas Desktop
      • Pypi package downloads statistics RSS
      • Pyro
      • Pythagorean Theorem
      • Python
      • Python 2.2.4
      • Python 2.3.1
      • Python Box
      • Python-2.0
      • Python-2.2
      • Python-2.3
      • Python 11
      • Python 12
      • Python 20 Critical Patches
      • Python 20 Frequently Asked Questions
      • Python 20 Misc Patches
      • Python 4 Delphi
      • Python and J 2 EE
      • Python and Parrot
      • Python Applications
      • Python Arabic Community
      • Python Asa First Language
      • Python Audio Material
      • Python Blog Software
      • Python Blogs
      • Python Bug Day
      • Python Business Forum
      • Python Business Forum BOF
      • Python Business Forum Open Space
      • Python Committer Guidelines
      • Python Consulting
      • Python Cook Book
      • Python Cook Book vs Active State Cook Book Discussion
      • Python Debuggers
      • Python Debugging Tools
      • Python Decorator Library
      • Python Decorator Proposals
      • Python Decorators
      • Python Dev Environments
      • Python Dev Wisdom
      • Python Developers
      • Python Developers on Twitter
      • Python Discussions
      • Python Distributions
      • Python Documentation
      • Python Dot Net Proposal
      • Python Enhancement Proposals
      • Python Federal Enterprise Architecture
      • Python for Arm Linux
      • Python for Operations Research
      • Python for Pocket PC
      • Python for Secretaries
      • Python for Security
      • Python for Systems Administration
      • Python Games
      • Python Glossary
      • Python Graph API
      • Python Graph Libraries
      • Python Humor
      • Python Imaging Library
      • Python Import Engine
      • Python in Education
      • Python in Web Page
      • Python Ina Tie
      • Python Info
      • Python Installed by Default
      • Python Jobs
      • Python Labs Python
      • Python Library Ref Template
      • Python Library Reference
      • Python Lore
      • Python Magick
      • Python Maputo
      • Python Med
      • Python Mug Signup
      • Python Notes
      • Python Org Website Redesign Open Space
      • Python Packaging Authorities
      • Python Packaging Terminology
      • Python Papers
      • Python Philosophy
      • Python Projects
      • Python Questions
      • Python Shells
      • pythonsites
      • Python Software Foundatio
      • Python Sound
      • Python Speakers
      • Python Style
      • Python Support
      • Python Testers
      • Python Testing Tools Taxonomy
      • Python Three Dot Oh
      • Python Training
      • Python Training Group
      • Python Tutor List
      • Python Urlo Week 30
      • Python Urlo Week 31
      • Python Urlo Week 32
      • Python Urlo Week 33
      • Python Urlo Week 34
      • Python User Group Dhaka
      • Python User Stories
      • Python vs C++
      • Python vs Haskell
      • Python vs Nice
      • Python vs Php
      • Python vs Ruby
      • Python Warts
      • Python Web Kit
      • Python Web Modules
      • Python Wiki Changes
      • Python Wiki Engines
      • Python Wiki Tasks
      • Python Wikipediabot
      • Python Win
      • Python Writers
      • Python XML
      • Python Zen Chinese Translate
      • Pythonware Python
      • Question Staticmethod
      • Question Type
      • RPM
      • RPM on Python 3
      • R PyC
      • Range Generator
      • Rdf Lib
      • Rdf Libraries
      • Reading HTML Forms
      • Recipe Template
      • Red Hat
      • Registrations Available
      • Regular Expression
      • Reinout Van Rees
      • Render Man
      • Representation Error
      • Response
      • Restricted Execution
      • Retrograde Orbit
      • Revised PyPI Categories
      • Richmond Python User Group
      • Roadmap
      • Ron Du Plain
      • Roundup
      • Routing
      • RSS Libraries
      • Russian Python Books
      • SAML
      • SAP DB
      • SIP
      • SOAP
      • SPE
      • Sachin deep
      • Sage Math
      • Salem Snakes
      • San Francisco
      • Sandbox
      • Sax
      • Schevo
      • School Tool
      • School Tool Sprint
      • Sci Te
      • Scientifi CPython
      • Screencasting
      • Scripting Java
      • Sea Pig
      • Secure Shell
      • See Gram Wrap
      • Semplici Programmi versione Italiana
      • Seneste Rettelser
      • Session Chair
      • Shadow Claw 20017
      • Shell Redirection Fails
      • Shell Run
      • Siac Nyse
      • Sim Py
      • Simple Todo
      • Singleton Programming
      • Site Navigering
      • Skeleton Builder Tools
      • Sketch
      • Skunk Web
      • Skype 4 Py
      • Slice Over Negatives
      • Smalltalk
      • Snake SQL
      • So You Wanna
      • Sorting Lists of Dictionaries
      • SourceForge
      • Spam Prevention
      • Spanish Python Books
      • Special Interest Groups
      • Special Interest Groups
      • Specialized Commercial Hosts
      • Specta Gen
      • Specta Reg
      • Spike^ekip S
      • Sponsor Offers
      • Spyce
      • Spycy Roll
      • SQLObject
      • Stackless Python
      • Standard Library Backports
      • Stani
      • Starlanes 2 Sprint
      • Starship Python
      • Starship Transfer
      • Starting Your Users Group
      • State Machine via Decorators
      • State Programming
      • Static Site Generator
      • Str is Not a String
      • Stream Reader
      • Stream Reader Writer
      • Stream Recoder
      • Stream Writer
      • String Formatting
      • Strong vs Weak Typing
      • Strukturerad Text
      • Subclassing Built in Types
      • Subclassing Dictionaries
      • Submitting Bugs
      • Sugar UI
      • Summit Lightning Talks
      • Summit Track Five
      • Summit Track Four
      • Summit Track One
      • Summit Track Three
      • Summit Track Two
      • Sybase
      • Sym Py
      • Syntax Reference
      • TACTIC
      • TODO
      • TOOWTDI
      • Tahoe Mentors
      • Talin
      • Talk Subjects
      • Talk Mistakes
      • TCP Communication
      • Template Loader API
      • Templating
      • Ten things people want to know about Python
      • Teradata
      • Test Harness Design
      • Test Oob
      • Test PyPI
      • Test Software
      • Texas Pythoneers!
      • Texas Pythoneers
      • Text Processing in Python
      • thanos
      • The Circle
      • Think SQL
      • Thread Programming
      • Tilfældig Side
      • Time Transitions Image
      • Tiny Python
      • Tips for in House User Groups
      • Title Contributors Discussion Template
      • Tix
      • Tk Zinc
      • Tkinter 3000
      • To M Korn
      • Tokison
      • Tokyo Pythonistas
      • Toolserver Framework for Python
      • Topically Organized PEP List
      • Tour Bus Stop
      • Trac Tracker
      • Tracking Source Location
      • Trouve Page
      • Tsering
      • Tucson Python User Group
      • Tuple Syntax
      • Tutorials on XML processing with Python
      • Type Error
      • UML
      • Ubuntu Install
      • UDP Communication
      • Ukrainian Python Books
      • Unicode
      • Unicode Decode Error
      • Unicode Encode Error
      • Unicode Encoding
      • Unicodeon Windows Extensions
      • Upgrading PostgreSQL
      • Use Python As an Interactive Shell
      • Usecases of Develop
      • Useful Modules
      • User Kit
      • Using Assertions Effectively
      • Using DB API with Postgres
      • Using Enumerate
      • Using Slots
      • VPython
      • VS2010
      • VS2012
      • Valley of the Sun Piggies
      • Vaults of Parnassus
      • Venom Package
      • Version Control
      • Vincent D Yu
      • Viper
      • Virtual Collaboratory BOF
      • Virtual Python
      • Visual wx
      • Voicent Simple Telephone Call API
      • Volunteer Signup
      • Volunteer Signup 2008
      • Volunteer Opportunities
      • Wanted…
      • Wareweb
      • Wasp
      • Wax
      • Web 2 Py
      • Web Accessibility
      • Web Application Framework Usability Testing Proposal
      • Web Applications
      • Web Browser Programming
      • Web Client Programming
      • Web Components
      • Web Janitorial Tasks
      • Web Kit
      • Web SIG Tasks
      • Web Servers
      • Web Services
      • Web Sig BOF
      • Web Solution Comparison
      • Web Stack
      • Web Standardisation
      • Web Test Paris Bear Sprint 2013
      • Webware
      • Webizing Python
      • Website Redesign Proposal
      • Webware Sprint
      • Weg Weiser
      • Well Known Python Programs
      • Western Punjabi Language
      • What applications that support ‘the application lifecycle’ are available to Python developers?
      • When I import Tkinter, Python exits. Why?
      • Where Do I Report This?
      • Which GUI is best for python?
      • Which IDE is good for Python
      • Why is Python a dynamic language and also a strongly typed language
      • Why is Python slower than the xxx language
      • Why separate sections by indentation instead of by brackets or ‘end’
      • Widget Construction Kit
      • Wiki Attack 2013
      • Wiki Editing Guidelines
      • Wiki Guidelines
      • Wiki Like Syntax
      • Wiki Sand Kasse
      • Wiki Sand Låda
      • Wiki Spam
      • Wiki Users
      • Wiki Wiki Webb
      • Winni PUG
      • Winnipug Buildout Presentation
      • Wishlist
      • With Statement and Open Gl
      • Working with Processes
      • Working with Time
      • Writing Exception Classes
      • WSGI Kit Sprint
      • wx Designer
      • wx Glade
      • Xia Q
      • XML Books
      • XML Databases
      • YAML
      • Yapps
      • Yarko
      • Yuvraj singh chawda
      • ZODB
      • Zero Price
      • Zerynth
      • Zodb Sprint
      • Zwj and Zwnj As Identifiers
      • akorn
      • albert
      • alexandersnitily
      • alexdzul
      • alireza.azimzadeh.alimp5
      • apug meeting 01-18-2007
      • apug meeting 10-12-2006
      • arrayschism
      • asql
      • avelino
      • beautiful soup
      • berkerpeksag
      • bhattnihar
      • boost 2epython
      • brad matera
      • bryanpham
      • bsd
      • buzhug
      • compile Python to C
      • content management system
      • cppyy
      • cseder
      • decimal
      • demianbrecht
      • demoergo
      • deployment
      • diceus
      • dvs1
      • egg
      • elena
      • elmer
      • erhansenlik
      • eric
      • evangelism support materials
      • fero14041
      • gflags
      • glob
      • gourneau
      • heromulder
      • higkoo
      • hmspy
      • houcine cherif
      • i Kaaro
      • j Edit
      • j Hep Work
      • jacdeh
      • jeromefreeman
      • jonclements
      • joseluiscastroc
      • junaid farooq
      • kaushik kaul
      • khao lek
      • la ellisabetta
      • limscoder
      • lwickjr
      • maki
      • mechanize
      • mjor1991
      • mleinart
      • monobot
      • moustafa.farhat
      • mssql Dataset
      • nose
      • osamakhn
      • oscarcp
      • paddy3118
      • patra-tm
      • peretto
      • primer arch patterns
      • pso
      • psyco
      • Py Bead
      • pykonik
      • pymug
      • pywarangal
      • re Structured Text
      • reverse chinese character in repr
      • ric Araujo
      • saikiran
      • sakthiganesh
      • satyag
      • setuptools
      • shravan
      • sip PQ
      • speed.python.org
      • ssteiner X
      • static analysis
      • static source analysis
      • sudip
      • sumit
      • sunpy
      • svaksha
      • systems administration
      • t2phage
      • techtonik
      • teng
      • tftp
      • theskumar
      • tk md5
      • tx Object ATK
      • usage stats
      • venster
      • vikas garg
      • vraniero
      • wangjun
      • warp
      • weave
      • wx Python Bo F
      • xuqingbai
      • yasserkhan
      • zkn365
      • Éric Araujo
      • РусскийПитон
    • Books & Publications
    • Community & User Groups
    • Conferences
    • Database Programming
    • Documentation
    • Editors & IDEs
    • Education
    • Getting Started
    • GUI Programming
    • Guides and How-Tos
    • Internationalization
    • Python Implementations
    • Infrastructure
    • Language Reference
    • Libraries & Tools
    • Multimedia & Games
    • Networking
    • Packaging
    • Performance
    • Platform-Specific
    • Python Software Foundation
    • Python 3 Migration
    • Scientific Computing
    • Security
    • Summer of Code
    • Sprints
    • Testing
    • Web Development
  • PSF Wiki
  • Jython Wiki
  • Contributing
  • People

On this page

  • Issue
  • Windows
  • Various UNIX consoles
  • print, write and Unicode in pre-3.0 Python
  • read and Unicode in pre-3.0 Python
psf/wiki 0 0
Edit this page
  1. Python Wiki /
  2. Python Wiki /
  3. Archive /
  4. Print Fails
View as Markdown Open in ChatGPT Open in Claude

Print Fails¶

Legacy Wiki Page

This page was migrated from the old MoinMoin-based wiki. Information may be outdated or no longer applicable. For current documentation, see python.org.

Issue¶

If you try to print a unicode string to console and get a message like this one:

>>> print u"\u03A9"
Traceback (most recent call last):
  File "<stdin>", line 1, in ?
  File "C:\Python24\lib\encodings\cp866.py", line 18, in encode
    return codecs.charmap_encode(input,errors,encoding_map)
UnicodeEncodeError: 'charmap' codec can't encode character u'\u1234' in position
 0: character maps to <undefined>

This means that the python console app can’t write the given character to the console’s encoding.

More specifically, the python console app created a _io.TextIOWrapperd instance with an encoding that cannot represent the given character.

sys.stdout –> _io.TextIOWrapperd –> (your console)

To understand it more clearly, look at:

  • sys.stdout

  • sys.stdout.encoding – ![/!\](/wiki/europython/img/alert.png “/!”) This seems to work on one of my computers (Vista,) but not on another of my computers (XP.) I haven’t looked into differences of situation in detail.

Windows¶

By default, the console in Microsoft Windows only displays 256 characters (cp437, of “Code page 437”, the original IBM-PC 1981 extended ASCII character set.)

If you try to print an unprintable character you will get UnicodeEncodeError.

Setting the PYTHONIOENCODING environment variable as described above can be used to suppress the error messages. Setting to “utf-8” is not recommended as this produces an inaccurate, garbled representation of the output to the console. For best results, use your console’s correct default codepage and a suitable error handler other than “strict”.

Various UNIX consoles¶

There is no standard way to query UNIX console for find out what characters it supports but fortunately there is a way to find out what characters are considered to be printable. Locale category LC_CTYPE defines what characters are printable. To find out its value type at python prompt:

   1 >>> import locale
   2 >>> locale.getdefaultlocale()[1]
   3 'utf-8'

If you got any other value you won’t be able to print all unicode characters. As soon as you try to print a unprintable character you will get UnicodeEncodeError. To fix this situation you need to set the environment variable LANG to one of supported by your system unicode locales. To get the full list of locales use command “locale -a”, look for locales that end with string “.utf-8”. If you have set LANG variable but now instead of UnicodeEncodeError you see garbage on your screen you need to set up your terminal to use font unicode font. Consult terminal manual on how to do it.

print, write and Unicode in pre-3.0 Python¶

Because file operations are 8-bit clean, reading data from the original stdin will return str’s containing data in the input character set. Writing these str’s to stdout without any codecs will result in the output identical to the input.

  $ echo $LANG
  en_CA.utf8

  $ python -c 'import sys; line = sys.stdin.readline(); print type(line), len(line); print line;'
  [TYPING: абв ENTER]
  <type 'str'> 7
  абв

  $ echo "абв" | python -c 'import sys; line = sys.stdin.readline(); print type(line), len(line); print line;'
  <type 'str'> 7
  абв
  $ echo "абв" | python -c 'import sys; line = sys.stdin.readline(); print type(line), len(line); print line;' | cat
  <type 'str'> 7
  абв

Since programmers need to display unicode strings, the designers of the print statement built the required transformation into it.

  • When Python finds its output attached to a terminal, it sets the sys.stdout.encoding attribute to the terminal’s encoding. The print statement’s handler will automatically encode unicode arguments into str output.

    $ python -c 'import sys; print sys.stdout.encoding; print u"\u0411\n"'
    UTF-8
    Б
  • When Python does not detect the desired character set of the output, it sets sys.stdout.encoding to None, and print will invoke the “ascii” codec.

    $ python -c 'import sys; print sys.stdout.encoding; print u"\u0411\n"' 2>&1 | cat
    None
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
    UnicodeEncodeError: 'ascii' codec can't encode character u'\u0411' in position 0: ordinal not in range(128)

I (IL) understand the implementation of Python2.5’s print statement as follows.

   1     # At Python startup.
   2     sys.stdout.encoding = tty_enc
   3     if tty_enc is not None:
   4       class_tty_enc_sw = codecs.getstreamwriter(tty_enc)
   5     else
   6       class_tty_enc_sw = None
   7 
   8     def print(*args):
   9       if class_tty_enc_sw is not None:
  10         eout = class_tty_enc_sw(sys.stdout)
  11       else:
  12         eout = None
  13       for arg in args:
  14          sarg = stringify_to_str_or_unicode(arg)
  15          if type(sarg) == str or eout is None:
  16            # Avoid coercion to unicode in eout.write().
  17            sys.stdout.write(sarg)
  18          else:
  19            eout.write(sarg)
  • At startup, Python will detect the encoding of the standard output and, probably, store the respective StreamWriter class definition. The print statement stringifies all its arguments to narrow str and wide unicode strings based on the width of the original arguments. Then print passes narrow strings to sys.stdout directly and wide strings to the instance of StreamWriter wrapped around sys.stdout.

  • If the user does not replace sys.stdout as shown below and Python does not detect an output encoding, the write method will coerce unicode values to str by invoking the ASCII codec (DefaultEncoding).

Python file’s write and read methods do not invoke codecs internally. Python2.5’s file open built-in sets the .encoding attribute of the resulting instance to None.

Wrapping sys.stdout into an instance of StreamWriter will allow writing unicode data with sys.stdout.write() and print.

  $ python -c 'import sys, codecs, locale; print sys.stdout.encoding; \
    sys.stdout = codecs.getwriter(locale.getpreferredencoding())(sys.stdout); \
    line = u"\u0411\n"; print type(line), len(line); \
    sys.stdout.write(line); print line'
  UTF-8
  <type 'unicode'> 2
  Б
  Б

  $ python -c 'import sys, codecs, locale; print sys.stdout.encoding; \
    sys.stdout = codecs.getwriter(locale.getpreferredencoding())(sys.stdout); \
    line = u"\u0411\n"; print type(line), len(line); \
    sys.stdout.write(line); print line' | cat
  None
  <type 'unicode'> 2
  Б
  Б

The write call executes StreamWriter.write which in turn invokes codec-specific encode and passes the result to the underlying file. It appears that the print statement will not fail due to the argument type coercion when sys.stdout is wrapped. My (IL’s) understanding of print’s implementation above agrees with that.

read and Unicode in pre-3.0 Python¶

I (IL) believe reading from stdin does not involve coercion at all because the existing ways to read from stdin such as "for line in sys.stdin" do not convey the expected type of the returned value to the stdin handler. A function that would complement the print statement might look like this:

  line = typed_read(unicode)   # Generally, a list of input data types along with an optional parsing format line.

print statement encodes unicode strings to str strings. One can complement this with decoding of str input data into unicode strings in sys.stdin.read/readline. For this, we will wrap sys.stdin into a StreamReader instance:

  $ python -c 'import sys, codecs, locale; \
    print sys.stdin.encoding; \
    sys.stdin = codecs.getreader(locale.getpreferredencoding())(sys.stdin); \
    line = sys.stdin.readline(); print type(line), len(line)' 2>&1
  UTF-8
  [TYPING: абв ENTER]
  <type 'unicode'> 4
  $ echo "абв" | python -c 'import sys, codecs, locale; \
    print sys.stdin.encoding; \
    sys.stdin = codecs.getreader(locale.getpreferredencoding())(sys.stdin); \
    line = sys.stdin.readline(); print type(line), len(line)'
  None
  <type 'unicode'> 4

See also: Unicode


CategoryUnicode

Previous
Print As Function
Next
Processo Programma

2026, Python Software Foundation

Made with Sphinx and Shibuya theme.