Search code examples
pythonpython-2.x

'Learn Python the Hard Way', exercise 17: Extra question(s)


I'm doing Zed Shaw's fantastic Learn Python The Hard Way, but an extra question has me stumped: Line 9-10 could be written in one line, but how? I've tried some different thoughts, but to no avail. I could move on, but what would the fun in that be?

from sys import argv
from os.path import exists

script, from_file, to_file = argv

print "Copying from %s to %s" % (from_file, to_file)

# We could do these two on one line too, how?
input = open(from_file)
indata = input.read()

print "The input file is %d bytes long" % len(indata)

print "Does the output file exist? %r" % exists(to_file)
print "Ready, hit RETURN to continue, CTRL-C to abort."
raw_input()

output = open(to_file, 'w')
output.write(indata)

print "Alright, all done."

Zed also writes that he could do the whole script in one line. I'm not exactly sure what he means by that.

Feel free to help me however you want: by giving the answer or merely hinting—and perhaps including a collapsed or hidden answer to the question.


Solution

  • indata = open(from_file).read()