前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >《笨办法学Python》 第17课手记

《笨办法学Python》 第17课手记

作者头像
Steve Wang
发布2018-02-05 16:11:23
5330
发布2018-02-05 16:11:23
举报
文章被收录于专栏:从流域到海域从流域到海域

《笨办法学Python》 第17课手记

本节内容是前几节内容的复习和综合,此外引入了exists函数。

原代码如下:

代码语言:javascript
复制
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)

#we could do these two on the line too, how?
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 comtinue, 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()

结果如下:

这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述

exists函数是检查括号内字符串所代表的文件名的文件是否存在,存在返回True,不存在返回False。

请注意,这里作者所说的复制并不是使用了一个专门用来复制字符的函数,而是采用了变量赋值的方式实现复制。

代码语言:javascript
复制
in_file = open(from_file) #将open函数得到的结果(是一个文件,而不是文件的内容)赋值给in_file。
indata = in_file.read()   #使用read函数读取文件内容,并将文件内容赋值给indata。

剩下的在作者的常见问题解答中有提到,这里不再赘述。

本节课涉及的内容

cat 在C语言字符串操作里strcat也表示字符串连接的意思str(char dst, cahr src)中,如果dst是空的,也就是将src复制到dst的意思。

至于windows中cat的替代品。显示的话用的是Type,复制的话是copy。

len(),该函数返回的长度是指字节数。

indata = open(from_file).read(),是一种简化的写法,如果你想化简上面的代码,可以尝试使用这种形式来写。

下面是可能的一种简写方法,一行写出来我做不到,除非使用cat。

代码语言:javascript
复制
 from sys import argv
 script, from_file, to_file = argv
 to_file = open(to_file, 'w') 
 to_file.write( open(from_file).read())
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2016年01月19日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 《笨办法学Python》 第17课手记
  • 本节课涉及的内容
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档