练习17:更多读写练习

来源:互联网 发布:python bytebuffer 编辑:程序博客网 时间:2024/05/29 17:00

本次实例代码是一份可以复制文件的脚本

#-*- coding:utf-8 -*-from sys import argv # 从sys库中引入argvfrom os.path import exists # 从os.path库中引入existsscript, from_file, to_file = argv # 解包argvprint "Copying from %s to %s" % (from_file, to_file) #输出拷贝源路径和目标路径# we could do these two on one 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 contiune, 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() # 关闭源文件

OS库

python中的OS库主要是提供一些系统的功能,包含普遍的操作系统功能,与具体的平台无关。
其中os.path模块主要是提供一些目录与文件方面的操作功能

exists

exists()方法主要是用来判断文件是否存在,这个方法存在于os.path模块中

print "Does the output file exist? %r" % exists(to_file) # 检测目标文件是否存在

to_file为一个file object

len

len()函数的功能是返回一个文件的长度

print "The input file is %d bytes long" % len(indata) # 输出源文件长度

indata为文件内容

读取非文本文件

上面的实例脚本只可以正常读取文本文档,如果读取非文本文档的话会失败
文件长度读取失败:
文件长度读取失败

复制后的文件大小错误:
复制后的文件大小错误

文件无法打开:
文件无法打开

这时可以用二进制的方式读取和写入文件

#-*- coding:utf-8 -*-from sys import argvscript, file_in, file_out = argvfile_write = open(file_out,'wb')file_write.write(open(file_in, 'rb').read())file_write.close()

结果:
复制后文件大小与源文件一致:
复制后文件大小与源文件一致

文件正常打开:
文件正常打开

以上,呼~

0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 注册商标有近似商标怎么办 电话话打不通怎么办 公司卖了商标怎么办 商标撕不下来怎么办 商标撕不下来时怎么办 商标还没下来怎么办 商标揭不下来怎么办 手机程序出现异常怎么办 公众号企业名称是*怎么办 家人生命受到威胁怎么办 海淘看不懂英文怎么办 对英语不感兴趣怎么办 装修无合同起诉怎么办 上海离职后档案怎么办 公司注销了银行帐户怎么办 360借条注销了怎么办 注销营业执照公章丢失怎么办 工厂招聘信息有假怎么办 个体餐饮怎么办核名 见父母后接下来怎么办 工商核名重名怎么办 核名通知书过期怎么办 包头鼎太风华怎么办 用人单位不续签劳动合同怎么办 全是英文看不懂怎么办 孩子智力发育晚怎么办 公司比赛成绩不好怎么办 解压手续过期了怎么办 违章通知单丢了怎么办 住在朋友家怎么办暂住证 告知单丢了怎么办 身份证丢了怎么办暂住证 合肥居住证失效了怎么办 异地办牌照暂住证怎么办 外地牌照上保险怎么办 住公租房怎么办暂住证 暂住证怎么办 异地学车 外地人怎么办北京市工作居住证 电大挂科很多怎么办 南通电大挂科怎么办 大学出现挂科怎么办