From: Georg Brandl Date: Sun, 9 Jan 2011 09:31:01 +0000 (+0000) Subject: #10871: "file" does not exist anymore in Python 3. Also adapt the reprs of opened... X-Git-Tag: v3.2rc1~92 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=04536b0edfb79998bee57228884cda0a1692d6ed;p=python #10871: "file" does not exist anymore in Python 3. Also adapt the reprs of opened file objects. --- diff --git a/Doc/library/argparse.rst b/Doc/library/argparse.rst index d68e177e60..6399ce7a61 100644 --- a/Doc/library/argparse.rst +++ b/Doc/library/argparse.rst @@ -781,11 +781,11 @@ values are: >>> parser.add_argument('outfile', nargs='?', type=argparse.FileType('w'), ... default=sys.stdout) >>> parser.parse_args(['input.txt', 'output.txt']) - Namespace(infile=, - outfile=) + Namespace(infile=<_io.TextIOWrapper name='input.txt' encoding='UTF-8'>, + outfile=<_io.TextIOWrapper name='output.txt' encoding='UTF-8'>) >>> parser.parse_args([]) - Namespace(infile=', mode 'r' at 0x...>, - outfile=', mode 'w' at 0x...>) + Namespace(infile=<_io.TextIOWrapper name='' encoding='UTF-8'>, + outfile=<_io.TextIOWrapper name='' encoding='UTF-8'>) * ``'*'``. All command-line args present are gathered into a list. Note that it generally doesn't make much sense to have more than one positional argument @@ -881,26 +881,26 @@ type By default, ArgumentParser objects read command-line args in as simple strings. However, quite often the command-line string should instead be interpreted as -another type, like a :class:`float`, :class:`int` or :class:`file`. The -``type`` keyword argument of :meth:`add_argument` allows any necessary -type-checking and type-conversions to be performed. Many common built-in types -can be used directly as the value of the ``type`` argument:: +another type, like a :class:`float` or :class:`int`. The ``type`` keyword +argument of :meth:`add_argument` allows any necessary type-checking and +type-conversions to be performed. Common built-in types and functions can be +used directly as the value of the ``type`` argument:: >>> parser = argparse.ArgumentParser() >>> parser.add_argument('foo', type=int) - >>> parser.add_argument('bar', type=file) + >>> parser.add_argument('bar', type=open) >>> parser.parse_args('2 temp.txt'.split()) - Namespace(bar=, foo=2) + Namespace(bar=<_io.TextIOWrapper name='temp.txt' encoding='UTF-8'>, foo=2) To ease the use of various types of files, the argparse module provides the factory FileType which takes the ``mode=`` and ``bufsize=`` arguments of the -``file`` object. For example, ``FileType('w')`` can be used to create a +:func:`open` function. For example, ``FileType('w')`` can be used to create a writable file:: >>> parser = argparse.ArgumentParser() >>> parser.add_argument('bar', type=argparse.FileType('w')) >>> parser.parse_args(['out.txt']) - Namespace(bar=) + Namespace(bar=<_io.TextIOWrapper name='out.txt' encoding='UTF-8'>) ``type=`` can take any callable that takes a single string argument and returns the type-converted value:: @@ -1512,7 +1512,7 @@ FileType objects >>> parser = argparse.ArgumentParser() >>> parser.add_argument('--output', type=argparse.FileType('wb', 0)) >>> parser.parse_args(['--output', 'out']) - Namespace(output=) + Namespace(output=<_io.BufferedWriter name='out'>) FileType objects understand the pseudo-argument ``'-'`` and automatically convert this into ``sys.stdin`` for readable :class:`FileType` objects and @@ -1521,7 +1521,7 @@ FileType objects >>> parser = argparse.ArgumentParser() >>> parser.add_argument('infile', type=argparse.FileType('r')) >>> parser.parse_args(['-']) - Namespace(infile=', mode 'r' at 0x...>) + Namespace(infile=<_io.TextIOWrapper name='' encoding='UTF-8'>) Argument groups