From: Guido van Rossum Date: Mon, 10 Apr 2000 17:16:12 +0000 (+0000) Subject: Implement suggestion from Lawrence Kesteloot in PR#280, to change the X-Git-Tag: v1.6a2~35 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=2516b39dd35a3e0d815e25ee652cea6c90cc5b28;p=python Implement suggestion from Lawrence Kesteloot in PR#280, to change the default list of files from () to None, and explicitly test for None before defaulting to sys.argv[1:]. This means that if you pass in an explicit empty list, it will read stdin instead of defaulting to sys.argv[1:]. This fixes a buglet in the test script (when called with options but without files, it chokes when it tries to interpret the options as files). Lawrence adds: "I suspect that this is a safe change, because I can't imagine someone actively passing in an empty list when they want sys.argv used." I agree. --- diff --git a/Lib/fileinput.py b/Lib/fileinput.py index 8f73fad222..d1b7617e25 100644 --- a/Lib/fileinput.py +++ b/Lib/fileinput.py @@ -77,7 +77,7 @@ import sys, os, stat _state = None -def input(files=(), inplace=0, backup=""): +def input(files=None, inplace=0, backup=""): global _state if _state and _state._file: raise RuntimeError, "input() already active" @@ -123,15 +123,16 @@ def isstdin(): class FileInput: - def __init__(self, files=(), inplace=0, backup=""): + def __init__(self, files=None, inplace=0, backup=""): if type(files) == type(''): files = (files,) else: - files = tuple(files) + if files is None: + files = sys.argv[1:] if not files: - files = tuple(sys.argv[1:]) - if not files: - files = ('-',) + files = ('-',) + else: + files = tuple(files) self._files = files self._inplace = inplace self._backup = backup