Python学习(十二)(文件操作)

3. 文件操作概述及操作过程
	文件作用:进行持久化存储数据

	操作过程:
		双击打开
		点叉关闭

	程序操作文件的过程:
		打开-> 设置打开的模式,(读写) open(打开文件路径,打开模式)
		操作文件(读取)
		关闭-> close()

4. 文件的访问模式
	读取:
		文本形式
			程序文件
			.txt 文件
			.rtf 文件
		二进制形式
			音频文件
			视频文件
			图片文件

	写入:
		文本形式
			程序文件
			.txt 文件
			.rtf 文件
		二进制形式
			音频文件
			视频文件
			图片文件

	以文本方式打开方式的模式
	r -> rt  -> read text 以文本方式打开文件读,文件存在,打开成功,文件不存在,打开失败
	w -> wt  -> write text 以文本方式打开文件写,不管文件是否存在,都会新创建一个新文件
	a -> at  -> append text 以文件方式打开文件追加,文件不存在,创建文件,文件存在,那么打开文件然后将光标移动到文件的最后

	以二进制形式打开文件的模式
	rb  以二进制形式打开文件读取
	wb  以二进制形式打开文件写入
	ab	以二进制形式打开文件追加

	(了解)
	r+  这三种模式都具有读取写入功能
	w+
	a+



5. 文件的读取
	read()

6. 文件读取的几种方式
	read() # 一次性将整个文件内容读取出来,不适合大文件读取
	read(size) # 掌握 读取指定的字节数的文件内容  ,如果文件最后没有内容了,那么read的返回值是空字符串 , "" 一般指定4096
	readline()  # 读取一行
	readlines() # 一次性将整个文件内的内容以行的形式读取出来,放到一个列表中

7. 文件的写入
	write(content) 该函数用来向文件中写入数据
	前提: 使用该函数时,打开文件时,必须要给定写入权限,要具有写入模式

8. 常用文件和文件夹操作
	os 模块
	rename()
	remove()
	mkdir()
	getcwd()
	chdir()
	listdir() 掌握
	rmdir()

9. 批量修改文件名后复制文件

	重点注意:
	翻车点:
		当以二进制模式打开文件进行文件操作时.
		read 函数最终读取文件内容为空时,返回的结果为 b'' 
		表示是一个二进制的空字符串
		在 Python2.7版本中. '' == b''  结果为True
		在 Python3.6版本中. '' == b''  结果为False

  1. 文件的一些操作方式
'''
文件操作
'''

#打开文件,以写模式
# file = open('a.txt','w')
file = open('a.txt','rt')
#
# #读取文件内容
# #默认读取全部文件内容
# #但是这种方式,只适用于文件较小的情况
# #如果文件比较大,不建议这样读取
# # content = file.read()
# '''
# 输出内容:
# hello
# python
# world
# '''
#
#在读取数据时,指定读取一部分,不指定大小默认全部读完
# content = file.read()
# print(content)  #hello
#
#读取多行文件的方式
# while True:
#     #读取
#     content = file.read(4096) #一般指定size=4096
#     #如果在文件读取时,读取的结果为空串,说明文件读取完毕
#     #根据这个条件,可以设置读取文件的结束条件
#     if content == '':
#         break
#     print(content,end="")

#关闭文件
file.close()

'''
文件其它读取方式
'''
# #打开文件
# file = open('a.txt','r')

#以行读取文件 readline(),换行符也会被读进来,算作一行
# while True:
#     content = file.readline()
#     if content=="":
#         break
#     print(content)


#以行的方式读取整个文件 readlines(),形成的是一个列表
# content_list = file.readlines()
# print(content_list)
#['hello\n', 'python\n', 'world']
# for line in content_list:
#     print(line)
#关闭文件
# file.close()


'''
文件的其他操作
os模块
rename()
remove()
mkdir()
getcwd()
chdir()
listdir()
rmdir()
'''

#导入os模块
import os

#rename() 重命名
# os.rename('a.txt', 'a.txt')

#mkdir() 创建目录
#如果当前目录存在,会报错
# os.mkdir('text_dir')

#getcwd() 获取当前工作目录
# cwd = os.getcwd()
# print(cwd)

#listdir() 获取当前目录下的文件列表
#一个'.'是当前目录,两个'.'是上级目录
# file_list = os.listdir('.')
# print(file_list)

#chdir() 改变当前目录到指定的路径上去
# os.chdir('C:\\Users\\KG\\Desktop')
# print(os.getcwd())
# print(os.listdir('.'))

#remove() 删除一个文件,里面填的是文件的路径
# os.remove('aaa.txt')

#rmdir() 删除一个文件夹
#当目录不为空,不能删除
# os.rmdir('ggg')


  1. 文件练习实例——复制一个文件
'''
实现一个复制命令
'''

#导入一个模块
import sys
def file_copy(src,dst):
    #以读取的方式 打开源文件
    file_r = open(src,'r')
    #以写的方式打开目标文件
    file_w = open(dst,'w')

    '''
    拷贝二进制文件版本
    #以读取的方式 打开源文件
    file_r = open(src,'rb')
    #以写的方式打开目标文件
    file_w = open(dst,'wb')
    '''


    #循环
    while True:
        #读取文件内容
        content = file_r.read(1024)
        #将读取的文件内容写入另一个文件中
        if content == '':
            print("文件拷贝成功")
            break

        '''
        判断二进制文件读完
        if content == b':
            print("文件拷贝成功")
            break
        '''

        #写入文件
        file_w.write(content)
    #关闭文件
    file_r.close()
    file_w.close()

print(sys.argv)
#在当前目录下输入python3 运行xxx.py文件
#导入sys模块之后,运行的时候可以在后面加上我们
#准备复制源文件和目标文件的名字
src = sys.argv[1]  #源文件
dst = sys.argv[2]  #目标文件
file_copy(src,dst)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值