Python基础-文件操作

   在Python中,文件操作可以通过内置的open()函数来实现。open()函数可以接受两个参数,第一个参数是文件的路径,第二个参数是打开文件的模式。

  文件的路径可以是绝对路径或相对路径。绝对路径指的是文件的完整路径,包括文件所在的文件夹路径以及文件名。相对路径指的是相对于Python程序所在的文件夹的路径。

文件读取多种方式:

1、导入path便于处理,它直接将整个文件的内容作为一个字符串进行输出。适用于想要一次性查看整个文件的完整内容。

from  pathlib import Path
path= Path('D:/1960-2019全球GDP数据.csv')
contents=path.read_text()
print(contents)

  2、先将文件内容读取为一个字符串,然后通过 splitlines() 方法将其按行分割成一个列表,再通过循环逐行输出。这种方式适合于需要对文件的每一行进行单独处理或分析的情况。

from  pathlib import Path
path= Path('D:/1960-2019全球GDP数据.csv')
contents=path.read_text()
lines=contents.splitlines()
for line in lines:
    print(line)

文件打开模式

打开文件的模式有以下几种:

  • 'r':以只读模式打开文件。如果文件不存在,会抛出FileNotFoundError异常。
  • 'w':以写入模式打开文件。如果文件不存在,会创建一个新文件;如果文件已存在,会清空文件内容。不使用close(),则必须使用flush()方法才能将内容写入。
  • 'a':以追加模式打开文件。如果文件不存在,会创建一个新文件;如果文件已存在,会在文件末尾追加内容。
  • 'x':以独占模式创建文件。如果文件已存在,会抛出FileExistsError异常。
  • 'b':以二进制模式打开文件。与其他模式组合使用,例如'rb'表示以只读的二进制模式打开文件。

打开文件后,可以使用文件对象的方法来读取或写入文件内容。

以下是一些常用的文件操作示例:

# 打开文件并读取内容
file = open('file.txt', 'r')
content = file.read()
print(content)
file.close()

# 打开文件并写入内容
file = open('file.txt', 'w')
file.write('Hello, World!')
file.close()

# 打开文件并逐行读取内容
file = open('file.txt', 'r')
for line in file:
    print(line)
file.close()

  注意:在使用open()函数打开文件后,最好使用close()方法来关闭文件。如果不关闭文件,文件会一直被Python程序占用,无法对原文件进行重命名、删除等操作。为了避免忘记关闭文件,还可以使用with语句来自动关闭文件。使用with语句时,文件对象会在代码块执行完毕后自动关闭。

# 使用with语句来读取文件后自动关闭文件
with open('file.txt', 'r') as file:
    content = file.read()
    print(content)
文件读取操作练习

字符串拼接:

  将记事本中的圆周率存储为一行新的完整字符串并打印输出。

运行效果图: 

圆周.txt :

完整代码: 



from pathlib import Path
path=Path('D:\圆周.txt')
contents=path.read_text()
lines=contents.splitlines()
new_string=''
for line in lines:
    new_string+=line.lstrip() # 去除左端空格
print(new_string)

单词计数:

通过Windows的文本编辑器软件,将如下内容,复制并保存到:word.txt,文件可以存储在任意位置,通过文件读取操作,读取此文件,统计itheima单词出现的次数。

itheima itcast python
itheima python itcast
beijing shanghai itheima
shenzhen guangzhou itheima
wuhan hangzhou itheima
zhengzhou bigdata itheima

展示三种方法:

# 法一:把单词变成列表,再比对列表中的一个个单词
f=open('D:/word.txt','r',encoding='UTF-8')
count=0
content=f.read()
words_list=content.split()
print(words_list)
for word in words_list :
    if word=='itheima':
        count+=1
print(count)
f.close()

# 法二: 直接使用文件操作的统计单词数目方法count()
f=open('D:/word.txt','r',encoding='UTF-8')
content=f.read()
count=content.count('itheima')
print(count)
f.close()

# 法三 一行一行的读取文件按照空格进行划分
f=open('D:/word.txt','r',encoding='UTF-8')
count=0
for line in f:
    line=line.strip()  # 去除每个单词换行符和空格
    words=line.split(' ') # 按照空格进行划分
    for word in words:
        if word =='itheima':
            count+=1
print(count)
f.close()
文件备份操作

c将文件中的内容备份到另一个文件中并去除remarks为测试的员工,如下图。

代码展示: 

fr=open('D:/原文件.txt','r',encoding='UTF-8')
fw=open('D:/新文件.txt.bak','w',encoding='UTF-8')
for line in fr:
   line = line.strip() # 去除回车换行符
   if line.split(',')[4] == '测试':# 按照逗号进行分割并判断第四个内容
       continue
   fw.write(line)
   fw.write('\n') # 写入换行符

fr.close()
fw.close()

  • 3
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Zik----

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值