python新手入门笔记(十一)——对于文件的操作

打开文件

主要句式:open()

1、read() 一次读完

# 打开文件test.txt
f = open('test.txt',encoding='utf-8')# utf-8是要是解开中文无法解码的问题
# 读取文件中的内容
text = f.read()# 一次读完文件中的所有内容
print(text)
# 关闭文件
f.close()
'''
python2 默认使用ASCII编码
python3 默认使用utf-8

ASCII 一个字节表示一个字符
256 字符 涵盖了英文 不包含汉语

utf-8 1——6个字节表示一个字符 涵盖了地球上所有文字
大多数汉字是由三个字节表示
utf-8 是Unicode编码的一种编码格式
'''

print('中'.encode('utf-8'))

2、进制读取:读取文件按进制展示

# 该代码没试过,没会员,没钱,没下载,懒得下
f = open('xxx.mp3','rb') # 按二进制读取
f1 = open('xxx.mp3','wb') # 按二进制写入
res = f.read()
f1.write(res)
f.close()
f1.close()

3、readline() 按行读取

# 普通方法
f = open('test.txt','r',encoding='utf-8')
res = f.readline()
res1 = f.readline()
res2 = f.readline() # 如果行数读尽,剩下的readline会打印出空行
print(res)
print(res1)
print(res2)		

# 为了方便以及去除最后的空行
# 进阶方法
f = open('test.txt','r',encoding='utf-8')
while True:
    res = f.readline()
    if not res:
        break
    print(res,end='')

4、readlines()

一次读完,然后将每行的内容写入到一个序列中,每一行的内容作为序列的元素

f = open('test.txt','r',encoding='utf-8')
res = f.readlines()
 # 如果行数读尽,剩下的readlines会打印出空行
print(res)

5、read(int)
读取指定字符数

f = open('test.txt','r',encoding='utf-8')
while True:
	res = f.read(1024)# 每次读取1024个字符
	print(res)
	if len(res) < 1024:
		# 如果某一次读取到的字符数小于1024 说明是最后一次读取
		break
f.close()

写文件

主要句式,write()。

# 写文件,w表示只可写入,会覆盖原有的同名文件
# 如果文件不存在,则创建文件
f = open('test1.txt','w',encoding='utf-8')
f.write('人生苦短 我用python\n'*3) # write方法中同样可以使用数学表达式
f.write('哈哈哈') # 在文件关闭之前,可往文件里不断写入内容,不会覆盖原文件
f.writelines(['我','爱','你'])# 这是写一行,在上一句的后面如果没有换行符,不会换行
f.close()

f = open('test1.txt','a',encoding='utf-8') # a表示写入,但不会覆盖原有的同名文件,而是追加
f.write('阿巴阿巴阿巴')
f.close()

复制写法:

f = open('test1.txt','r',encoding='utf-8')
f1 = open('test2.txt','w',encoding='utf-8')
res = f.read()
f1.write(res)
f.close()
f1.close()

上下文管理器

#上下文管理器 作用:可自动关闭文件
with open('test.txt','r',encoding='utf-8') as f:
    while True:
        res = f.read(1024 * 1024 * 1024)
        print(res)

文件备份

def copyFile():
    old_file = input('文件名:')
    # test.txt -> test_备份.txt
    file_list = old_file.split('.')  # 将用户指定的文件名以.分割[test,txt]
    new_file = file_list[0] + '_备份.' + file_list[-1]  # 凭借新的文件名
    with open(old_file, 'rb') as f, open(new_file, 'wb') as f1:
        # 用with语句 同时打开两个文件
        f1.write(f.read())


if __name__ == '__main__':
    copyFile()

导入

import 依赖包/文件
form 依赖包/文件 import 方法
import xxx as 别名 —— (文件名太长用这个)
这个没多少好记的。
要注意的是,两个文件不能相互导入。

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值