本来面目
- from sys import argv
- from os.path import exists
- script, from_file, to_file = argv
- print(f"Copying from {from_file} to {to_file}")
- #we could do these two on noe line, how?
- in_file =open(from_file)
- indata = in_file.read()
- print(f"The input file is {len(indata)} bytes long")
- print("Ready, hit the RETURN to countinue, CTRL_c to abort")
- input()
- out_file = open(to_file,'w')
- out_file.write(indata)
- print("Alright, all done.")
- out_file.close()
- in_file.close()
第一次简化
- in_file =open(from_file)
- indata = in_file.read()
合为 indata = open(from_file).read()
- from sys import argv
- from os.path import exists
- script, from_file, to_file = argv
- print(f"Copying from {from_file} to {to_file}")
- #we could do these two on noe line, how?
- indata = open(from_file).read()
- print(f"The input file is {len(indata)} bytes long")
- print("Ready, hit the RETURN to countinue, CTRL_c to abort")
- input()
- out_file = open(to_file,'w')
- out_file.write(indata)
- #open(to_file,'w').write(open(from_file).read())
- print("Alright, all done.")
- out_file.close()
- in_file.close()
会报错, 因为写了 indata = open(from_file).read() 就无序写关闭语句 in_file.close()
以为其中的 read 一旦运行, 文件就会被 Python 关闭掉
- from sys import argv
- from os.path import exists
- script, from_file, to_file = argv
- print(f"Copying from {from_file} to {to_file}")
- #we could do these two on noe line, how?
- indata = open(from_file).read()
- print(f"The input file is {len(indata)} bytes long")
- print("Ready, hit the RETURN to countinue, CTRL_c to abort")
- input()
- out_file = open(to_file,'w')
- out_file.write(indata)
- #open(to_file,'w').write(open(from_file).read())
- print("Alright, all done.")
- out_file.close()
改成一句话
- from sys import argv
- from os.path import exists
- script, from_file, to_file = argv
- open(to_file,'w').write(open(from_file).read())
来源: http://www.bubuko.com/infodetail-2885909.html