python文件操作汇总

python之文件操作

文件的打开与关闭

open(文件名, 访问模式)—打开文件

demo:
file = open('test.txt', 'w')

close() —关闭文件

demo:
file = open('test.txt', 'w')

file.close()

访问模式说明

  • r : 以只读方式打开文件。文件的指针将会放在文件的开头,这是默认模式。
    w : 打开一个文件只用于写入,如果该文件已存在则将其覆盖,如果该文件不存在,创建新文件。
  • a : 打开一个文件用于追加,如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后、如果该文件不存在,创建新文件进行写入。
  • rb : 以二进制格式打开一个文件用于只读。文件指针将会放在文件的开头,这是默认模式。
  • wb : 以二进制格式打开一个文件只用于写入,如果该文件不存在,创建新文件。
  • ab : 以二进制格式打开一个文件用于追加,如果该文件已存在,文件指针将会放在文件的结尾,也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。
  • r+ : 打开一个文件用于读写,文件指针将会放在文件的开头。
  • w+ : 打开一个文件用户读写,如果该文件已存在,则将其覆盖。如果该文件不存在,创建新文件。
  • a+ : 打开一个文件用户读写。如果该文件已存在,文件指针将会放在文件的结尾。文件打开时会是追加模式,如果该文件不存在,创建新文件用户读写。
  • rb+ : 以二进制格式打开一个文件用于读写,文件指针将会放在文件的开头。
  • wb+ : 以二进制格式打开一个文件用于读写,如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。
  • ab+ : 以二进制格式打开一个文件用户追加,如果该文件已存在,文件指针将会放在文件的结尾。

write写数据

使用write()可以完成向文件写入数据

demo:
file = open('test.txt', 'w')
file.write('hello world')
file.close()

注意:如果文件不存在,创建文件。如果文件存在,就先清空,然后写入数据。

read读数据

使用read(num)可以从文件中读取数据,num表示要从文件中服务的数据的长度(单位是字节),如果没有传入num,那么就表示读取文件中所有的数据。

demo:
f = open('test.txt', 'r')
#最多读取5个数据
content = f.read(5) 
print(content)

print("-"*30)
#从上次读取的位置继续读取剩下的所有的数据
content = f.read()
print(content)
#注意:要关闭文件
f.close()
#结果:
hello
-----------------------------
world
  • 注意:如果用open打开文件时,如果使用的“r”,那么可以省略,即只写open(‘test.txt’)

readlines读数据

readlines就像没有参数的read一样,按照行的方式把整个文件中的内容进行一次性读取,并且返回的是一个列表,其中每一行的数据为一个元素。

demo:
f = open('test.txt', 'r')
content = f.readlines()
print(type(content))

i = 1
for temp in content:
	print("%d:%s" % (i, temp))
	i += 1
f.close()

readline读数据

demo:
f = open('test')

content = f.readline()
print("1:%s" % content)

content = f.readline()
print("2:%s" % content)

f.close()
结果:
1:hello world
2:hello world

制作文件的备份

输入文件名字,然后程序自动完成对文件进行备份。

demo:
#提示输入文件名
oldFileName = input("请输入要拷贝的文件名字:")

#以只读的方式打开文件
oldFile = open(oldFileName, 'rb')

#提取文件的后缀
fileFlagNum = oldFileName.rfind('.')
fileFlagNum = 4
#rfind() 返回字符串最后一次出现的位置,如果没有匹配项则返回-1
#rfind() 方法语法:str.rfind(str, start=0 end=len(string))

if fileFlagNum > 0:
	#利用下标取值[4:]
	fileFlag = oldFileName[fileFlagNum:]

#组织新的文件名字
newFileName = oldFileName[:fileFlagNum] + '复件' + fileFlag

#组织新文件
newFile = open(newFileName, 'wb')

#把旧文件中的数据,一行一行的进行复制到新文件中
for lineContent in oldFile.readlines():
	newFile.write(lineContent)
#关闭文件
oldFile.close()
newFile.close()

文件的相关操作

os.rename()重命名

rename(需要修改的文件名,新的文件名)

demo:
import os
os.rename('1.txt', '2.txt')

os.remove(待删除的文件名)

demo:
import os
os.remove('2.txt')

os.getcwd()获取当前目录

demo:
import os
os.getcwd()

os.chdir()改变默认目录

demo:
import os
os.chdir("../")

os.listdir()获取目录列表

demo:
import os
os.listdir("./")

os.rmdir()删除文件夹

import os
os.rmdir("demo")

批量修改文件名

demo:
#批量在文件名前加前缀
#批量在文件名前加前缀
import os

funFlag = 1 #1表示添加标志  2表示删除标志
folderName = './renameDir/'

#获取指定路径的所有文件名字
dirList = os.listdir(folderName)

#遍历输出所有文件名字
for name in dirList:
print(name)

if funFlag == 1:
    newName = '[什哥出品]-' + name
elif funFlag == 2:
    num = len('[什哥出品]-')
    newName = name[num:]
print newName

os.rename(folderName+name, folderName+newName)
  • 3
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Python文件操作练习题是指通过Python代码对文件进行读取、写入、重命名等操作的练习题目。其中包括创建文件、写入内容、读取文件内容、重命名文件等。 举个例子,假设有以下练习题: 题目:请编写一个Python程序,要求用户输入文件名和字符串,将字符串写入到指定的文件中。 解答:可以使用Python的open函数打开文件,然后使用write方法将字符串写入文件中。可以参考以下代码: ```python filename = input("请输入文件名:") content = input("请输入字符串:") with open(filename, "w") as file: file.write(content) ``` 这段代码中,用户需要输入文件名和字符串,然后使用`open`函数打开文件,指定模式为"w"表示写入模式。然后使用`write`方法将字符串写入文件中。 这是一个简单的Python文件操作练习题的答案,通过这个练习可以增加对Python文件操作的熟悉程度。当然,还有很多其他的练习题目,涉及到文件的读取、重命名、删除等操作,可以根据需要选择不同的练习题目进行练习。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [Python经典基础习题(文件文件操作)](https://blog.csdn.net/AQIANKE/article/details/126265497)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *3* [Python函数文件练习题汇总](https://blog.csdn.net/qq_44034384/article/details/107600201)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值