Read text files with a specific encoding? using fileinput?
Jim Correia
noone at nowhere.com.invalid
Fri Feb 14 15:30:37 EST 2003
In article <mailman.1045245586.481.python-list at python.org>,
Skip Montanaro <skip at pobox.com> wrote:
> >> > If I have a script which processes files on the command line, using
> >> > fileinput, can I do the same?
> >>
> >> Not sure about that one.
>
> Jim> Unless I'm missing something (which is obvious - I'm a python
> Jim> newbie) it isn't possible (that is unless there is a way to change
> Jim> the default encoding for reading files - is that possible?)
>
> Assuming the file was already opened using the proper mode, how about this
> slight (and untested) simplification of codecs.open?
>
> def encode_file(f, encoding=None, errors='strict'):
> if encoding is None:
> return f
> (e, d, sr, sw) = lookup(encoding)
> srw = StreamReaderWriter(f, sr, sw, errors)
> # Add attributes to simplify introspection
> srw.encoding = encoding
> return srw
I could write my own replacement for fileinput that did that, but
currently the fileinput module does all the opening, so absent an open
hook or a way to tell it what encoding to use, I'm not sure that will
help.
Am I missing something?
Jim
More information about the Python-list
mailing list