笨辦法學python 文本復制
阿新 • • 發佈:2018-12-16
exists pen 分享 turn 文本 info inf print The
本來面目
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())
笨辦法學python 文本復制