python读文件去除空行_python新手入门笔记

本文是Python新手入门笔记,介绍了如何打开和读取文件,特别是去除空行的方法,包括read()、readline()、readlines()以及write()函数的使用。同时,还涉及了上下文管理器、文件备份和导入模块的基础知识。
摘要由CSDN通过智能技术生成

deda6068105f56346edff39872608503.png

打开文件

主要句式: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('人生苦短 我用pythonn'*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 别名 —— (文件名太长用这个)
这个没多少好记的。
要注意的是,两个文件不能相互导入。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值