笨办法学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?
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()

1516972-20181215225030224-1594770315.png

1516972-20181215225131205-1301142798.png

第一次简化

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()

1516972-20181215225459739-1698486234.png

会报错,因为写了 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()

1516972-20181215225755569-810294084.png

改成一句话


from sys import argv
from os.path import exists

script, from_file, to_file = argv

open(to_file,'w').write(open(from_file).read())

1516972-20181215225959686-1829794519.png

转载于:https://www.cnblogs.com/junkdog/p/10125237.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值