Python新手在这里。刚开始学习。我正在关注“如何艰难地学习 Python”,其中一个练习是尽可能地缩短脚本。我遇到了某种障碍,我将不胜感激。该代码只是获取一个文件并将其复制到另一个文件中。这就是代码最初的样子。
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)
in_file = open(from_file)
indata = in_file.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()
out_file = open(to_file, 'w')
out_file.write(indata)
print "Alright, all done."
out_file.close()
in_file.close()
现在代码如下所示:
from sys import argv; script, from_file, to_file = argv;
in_data = open(from_file).read()
out_file = open(to_file, 'w').write(in_data)
使用分号将两行保持为一行是作弊吗?我去掉了一些功能,因为我觉得它们对于这个特定的练习毫无意义。作者说他能够将脚本简化为一行,我将不胜感激有关如何执行此操作的任何建议。该脚本以这种方式工作,我尝试将其全部安装到一两行带分号的行中,但我想知道是否有更好的解决方案。非常感谢。