day 10 文件
1.文本文件 ,二进制文件
二进制文件:用vi 打开一个图片,MP3,视频


2.文件打开方式
# 重定向 文件不存在 文件存在
r error 文件开头
w 相当于 > 创建 覆盖,删除以前的内容
a 相当于 >> 创建 追加到末尾


3 .读取文件内容
1)f.read()
In [1]: f = open("test.py","r")
In [2]: f.read()
Out[2]: 'imprordfnsaf \ndsafdsa \nfdsaf \n\n'
In [3]: f.read(1)
Out[3]: ''
In [3]: f.read(1)
Out[3]: ''
#### 文件指针已经到文件末尾了
2)f.read(1) f.read(10)
In [1]: f = open("test.py","r")
In [2]: f.read(1) #一个字符一个的读
Out[2]: 'i'
In [3]: f.read(1)
Out[3]: 'm'
In [5]: f.read(10) #10个
Out[5]: 'rordfnsaf '
In [10]: f.read(10) #文件指针到末尾了
Out[10]: ''
In [11]: f.close()
4.文件写
In [12]: f = open("test1.py","w")
In [13]: f.write("asdf")
Out[13]: 4
In [14]: f.write("\nasdf")
Out[14]: 5
In [15]: f.write("\naaa")
Out[15]: 4
In [16]: f.close()
###3 文件内容
asdf
asdf
aaapython
5.小程序:
1)给文件写入东西
#1.创建一个文件
f = open("love.py","w") #2.写入东西
f.write("waiting me my love") #3.关闭文件
f.close()
2)读取文件内容
#1.打开文件
f = open("love.py","r") #2.读取文件
result = f.read()
print(result) #要有输出 #3.关闭文件
f.close()
6.应用1:复制文件流程



1)版本1:大框架
#1.获取用户要复制的文件名 #2. 打开原文件
f1 = open("aaa","r") #3.打开新文件
f2 = open("bbb","w") #4.读取原文件的内容
result = f1.read() #5。写到新文件中
f2.write(result) #6.关闭文件 f1.close()
f2.close()
2)版本2:获取文件名
#1.获取用户要复制的文件名
file_name = input("请输入文件名:")
#2. 打开原文件
f1 = open(file_name,"r") #3.打开新文件
f2 = open('file_name + "[附件]"',"w") #4.读取原文件的内容
result = f1.read() #5。写到新文件中
f2.write(result) #6.关闭文件 f1.close()
f2.close()

3)版本3:如何获取输出正确的文件名
#1.获取用户要复制的文件名
file_name = input("请输入文件名:")
#2. 打开原文件
f1 = open(file_name,"r") #3.打开新文件
f2 = open(file_name + "[附件]","w") #new_file_name = file_name + "附件.py"
#f2 = open(new_file_name,"w") #4.读取原文件的内容
result = f1.read() #5。写到新文件中
f2.write(result) #6.关闭文件 f1.close()
f2.close()

4)字符串操作,获取文件名
#1.获取用户要复制的文件名
file_name = input("请输入文件名:")
#2. 打开原文件
f1 = open(file_name,"r") #3.打开新文件
#获取文件名 字符串操作
position = file_name.rfind(".")
new_file_name = file_name[0:position] + "[cp]" + file_name[position:] f2 = open(new_file_name,"w")
#4.读取原文件的内容
result = f1.read() #5。写到新文件中
f2.write(result) #6.关闭文件 f1.close()
f2.close()
day 10 文件的更多相关文章
- Windows 10文件夹Shirt+鼠标右键出现“在此处打开命令窗口”
Windows 10文件夹Shirt+鼠标右键出现“在此处打开命令窗口” Windows Registry Editor Version 5.00 [HKEY_CLASSES_ROOT\Directo ...
- Javaweb学习笔记10—文件上传与下载
今天来讲javaweb的第10阶段学习.文件的上传与下载,今天主要说的是这个功能的实现,不用说了,听名字就是外行人也知道肯定很重要啦. 老规矩,首先先用一张思维导图来展现今天的博客内容. ...
- Win 10 文件浏览器无法打开
今天遇到个很奇怪的问题,文件浏览器File Explorer无法正常显示,点击打开后任务栏上已经显示打开了,但是屏幕上却看不到任何窗口,开始以为机子中了恶意的木马,然后就疯狂的查毒,然而并没有解决问题 ...
- python (10) 文件夹的创建与文件夹的删除
有时需要在代码中对文件或者文件夹 进行删除,或者添加 导入的包:import os,shutil 新建文件夹 import os,shutil path = os.getcwd() #获得当前目录 # ...
- Linux学习笔记10——文件I/O之一
UNIX系统中的大多数文件I/O只需要用到5个函数:open,read,write,lseek以及close 文件描述符 文件描述符是一个非负整数,所有打开的文件都通过文件描述符引用 文件描述符的变化 ...
- Hive(10)-文件存储格式
Hive支持的存储数据的格式主要有:TEXTFILE .SEQUENCEFILE.ORC.PARQUET 一. 列式存储和行式存储 左边为逻辑表,右边第一个为行式存储,第二个为列式存储 1. 行式存储 ...
- python基础教程总结10——文件
1.打开文件 open(name[mode[,buffing]) 参数: 文件,模式,缓冲 1)name: 是强制选项,模式和缓冲是可选的 #如果文件不在,会报下面错误1 >>&g ...
- [Swift通天遁地]七、数据与安全-(10)文件的加密压缩和解压加密压缩
★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★➤微信公众号:山青咏芝(shanqingyongzhi)➤博客园地址:山青咏芝(https://www.cnblogs. ...
- python基础(10):文件操作
1. 初识文件操作 使⽤python来读写⽂件是非常简单的操作.我们使⽤open()函数来打开⼀个⽂件,获取到⽂ 件句柄,然后通过⽂件句柄就可以进⾏各种各样的操作了,根据打开⽅式的不同能够执⾏的操 作 ...
随机推荐
- select下拉的绑定及回显(ajxa)
下拉列表一般通过ajax请求数据绑定 // 绑定新闻类型下拉 function news_type() { var news_type=$("#news_type").val(); ...
- c++ 派生类的复制函数次序,及子父类兼容性
#include <iostream> using namespace std; class CFatherSum //父类Sum { public: CFatherSum(){cout& ...
- java list.remove移除失败
1. resultList.remove(i) 移除失败说明 当i为Integer类型时,通过观察源码发现当找不到该类型时就会自动去找Object类型,即remove(object),因为集合中不存在 ...
- 2019.3.26 为什么说HTTP是无状态协议/无连接
无状态 1.协议对于事务处理没有记忆能力 2.对同一个url请求没有上下文关系 3.每次的请求都是独立的,它的执行情况和结果与前面的请求和之后的请求时无直接关系的,它不会受前面的请求应答情况直接影响, ...
- javascript学习2
上次我们了解到 JavaScript提供了一组以window为核心的对象,实现了对浏览器窗口的访问控制.JavaScript中定义了6种重要的对象: window对象 表示浏览器中打开的窗 ...
- nginx开启gzip
gzip on; gzip_min_length 5k; gzip_buffers 4 16k; #gzip_http_version 1.0; gzip_comp_level 3; gzip_typ ...
- PAT——1072. 开学寄语(20)
下图是上海某校的新学期开学寄语:天将降大任于斯人也,必先删其微博,卸其QQ,封其电脑,夺其手机,收其ipad,断其wifi,使其百无聊赖,然后,净面.理发.整衣,然后思过.读书.锻炼.明智.开悟.精进 ...
- Selenium自动化测试之数据驱动及用例管理
Selenium自动化测试之数据驱动及用例管理 一.TestNg注解介绍 @Test:表示一个测试方法,在运行测试用例过程中,会自动运行@Test注解的方法. 例:
- HDU 1198 Farm Irrigation(并查集,自己构造连通条件或者dfs)
Farm Irrigation Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)T ...
- stm32 晶振不起振
1. STM32f103有内部晶振.刚刚上电时,所有Clock都是源于内部晶振,所以当片内没有程序或内部程序没有使能外部晶振时,外部晶振是不会起振的.2. STM32f103有内部复位电路,只有当检测 ...