我何时将变量放入.open()的括号中?何时将其放在.open()的前面

时间:2012-06-28 20:20:37

标签: python-2.7

1 from sys import argv
2 from os.path import exists
3
4 script, from_file, to_file = argv
5
6 print "Copying from %s to %s" % (from_file, to_file)
7
8 # we could do these two on one line too, how?
9 input = open(from_file)
10 indata = input.read()
11
12 print "The input file is %d bytes long" % len(indata)
13
14 print "Does the output file exist? %r" % exists(to_file)
15 print "Ready, hit RETURN to continue, CTRL-C to abort."
16 raw_input()
17
18 output = open(to_file, 'w')
19 output.write(indata)
20
21 print "Alright, all done."
22
23 output.close()
24 input.close()

我不确定第19行之间的规则差异是什么,在句号之前有一个变量,也在括号内。我是初学者,我想澄清这一点,因为我试着编写一些代码并对这一点感到困惑......

1 个答案:

答案 0 :(得分:0)

这意味着您正在调用对象的方法。让我们看看第18行:

output = open(to_file, 'w')

这将返回一个文件对象并将其分配给变量output。您现在可以调用文件对象的方法(例如output.read()来读取文件的内容)。同样,您可以使用output.write(...)将数据写入文件:

output.write(indata)

上述行表示:将indata的内容写入文件对象output。你是对的,这个操作涉及两个变量。