Python知识点——文件的相关操作

python文件的相关操作

在这里插入图片描述

  • 写入操作-write
f = open('test.txt','w')  # w是写的权限
f.write('test...')  #  write写入
f.close()

# 运行结果
# 在你当前目录创建一个test.txt文件里面的内容就是test... 
test...

  • 读取数据-read
f = open('老婆美美哒.txt','r')  # r是读的权限
conition = f.read()   # read读取 
print(conition)
f.close()

# 运行结果
# 读取当前目录的test.txt文件里面的内容test... 

  • 文本文件读取一行-readline
f = open('test.txt')
conition = f.readline()
print(conition)
f.close()

# 当前test内容
asdwafawf
wafawfafw
wafawfa
awfawfge
awdafw

# 运行结果
asdwafawf

  • 文本文件读取所有以列表显示每一行是列表的一个元素-readlines
f = open('test.txt','r')
conition = f.readlines()
print(conition)
f.close()

# 当前test内容
asdwafawf
wafawfafw
wafawfa
awfawfge
awdafw

# 运行结果
['asdwafawf\n', 'wafawfafw\n', 'wafawfa\n', 'awfawfge\n', 'awdafw\n', '\n']

  • 复制文本
#1.获取用户要复制的文件名
old_file_name = input('请输入要复制的文本名:')

#2.打开要复制的文件
old_file = open(old_file_name)


position = old_file_name.rfind('.')
new_file_name = old_file_name[:position]+'[复制]'+old_file_name[position:]

#3.新建一个文件
new_file = open(new_file_name,'w')

#4.从旧文件中读取数据存到新文件中
conition = old_file.read()
new_file.write(conition)

#5.关闭文件
old_file.close()
new_file.close()

# 运行结果
请输入要复制的文本名:test.txt

当前目录出现个test[复制].txt的文件, 里面内容是
asdwafawf
wafawfafw
wafawfa
awfawfge
awdafw

  • 大文件的处理
#1.获取用户要复制的文件名
old_file_name = input('请输入要复制的文本名:')

#2.打开要复制的文件
old_file = open(old_file_name)


position = old_file_name.rfind('.')
new_file_name = old_file_name[:position]+'[复制]'+old_file_name[position:]

#3.新建一个文件
new_file = open(new_file_name,'w')

#4.从旧文件中读取数据存到新文件中
while True:
   # read(1024) 一次读取位数
    conition = old_file.read(1024)
    # 如果conition里面内容为0了就说明文件读取完了
    # 因为你打开文件时指针是指向首位的, 读取完后指针指向内容末尾
    if len(conition) == 0:
        break
    new_file.write(conition)

#5.关闭文件
old_file.close()
new_file.close()

# 运行结果
请输入要复制的文本名:test.txt

当前目录出现个test[复制].txt的文件, 里面内容是
asdwafawf
wafawfafw
wafawfa
awfawfge
awdafw

  • 定位读写-seek-tell
# seek 有两个参数 第一个参数 控制位移量  第二个参数 0文件的开始处 1文件的当前位置 2文件的末尾处
# tell 文件指针指向的当前位置
f = open('test.txt')
f.seek(2,0)
print(f.tell())
print(f.readline())
f.close()

# 运行结果
2
dwafawf

  • 文件从命名-os.rename
import os
os.rename('test.txt','TEST.TXT')

# 运行结果
# test.txt文件变成TEST.TXT

  • 删除文件-os.remove
import os
os.remove('TEST.TXT')

# 运行结果
# TEST.TXT文件被删除

  • 创建文件夹-os.mkdir
import os
os.mkdir('test')

# 运行结果
# 当前目录创建一个test文件夹

  • 改变open默认创建目录.os.chdir
import os
os.chdir('/home/python/Desktop/Python3编程/06.匿名函数.文件操作/02.文件')

# 运行结果
# 以后open创建文件就是在这个路径下

  • 获取指定路径的内容把内容当列表显示-os.listdir
import os
print(os.listdir('./'))

# 运行结果
['.DS_Store', '01-写入操作-write.py', '02-读取数据-read.py', '03-文本文件读取一行-readline.py', '04-文本文件读取所有以列表显示每一行是列表的一个元素-readlines.py', '05-复制文本.py', '06-大文件的处理.py', '07-定位读写-seek-tell.py', '08-文件从命名-os.rename.py', '09-删除文件-os.remove.py', '10-创建文件夹-os.mkdir.py', '11-获取当前目录路径-os.getcwd.py', '12-改变open默认创建目录.os.chdir.py', '13-获取指定路径的内容把内容当列表显示-os.listdir.py', '14-删除文件-os.rmdir.py', '15-批量从命名1.py', '16-批量从命名2.py', '17-批量截取名字.py', 'test', 'test.txt', '老婆美美哒.txt']

  • 删除文件夹-os.rmdir
import os
os.rmdir('test')

# 运行结果
# 删除当前路径下的test文件夹

  • 批量从命名
import os
test = input("请输入文件名:")
i = 0

# 获取指定路径的内容把内容当列表显示
new_list = os.listdir(test)
# 把改名的文件放在当前文件夹下
os.chdir(test)
while i < len(new_list):
    index = i+1
    new_list[i] = os.rename(new_list[i],'我的世界-'+str(index)+'.avi')
    i+=1
  • 批量截取名字
import os

#1.获取你要操作的目录名
folder_name = input('请输入当前文件夹下的目录名:')

#2.输入你要删除的字符
del_name = input('请用户输入你要删除的部分:')

#3.获取制定文件夹中的说有 文件
old_file = os.listdir(folder_name)

#4.修改路劲
#os.chdir(folder_name)  #这是第一种方法


#5.重命名
for name in old_file:
    print(name)
    # 这是第二种
    old_file_name = folder_name+'/'+name    
    index = name.find(del_name)
    print(index)
    new_file_name = folder_name+'/'+name[index+len(del_name):]
    os.rename(old_file_name,new_file_name)
#这是第一种
# os.rename(name,name[index+len(del_name):]) 


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值