从零开始学习机器学习之python基础|文件操作


`

一、文件

1.作用:进行持久化存储数据

2.程序操作过程

  • 打开:设置打开的模式(读,写)
  • 操作文件(读取)
  • 关闭:close()

3.文件读取

  • file.read()默认全部读取,适用于比较小的文件
  • file.read(5)
file.read(5)
file.read(5)# 接着读取
  • 读取多行文件的方式
while True:
	content = file.read(1)# 一般设置4096---4k
	if content == '':# 设置文件读取的结束条件
		break
	print(content)
  • readline()以行读取
  • readlines()将文件内容以行读取并形成列表

4.文件重命名rename

  • 导入os模块(操作系统)
  • os.rename(原名,修改后的名)

5.创建目录mkdir

  • os.mkdir(目录名)
  • 如果目录已存在会报错

6.获取当前目录getcwd

  • os.getcwd() 返回值是当前目录

7.获取当前目录下的文件列表listdir

  • .当前目录
  • …上级目录
  • os.listdir(‘.’)返回的列表

8.改变当前目录到指定路径上chdir

  • os.chdir(‘路径’)
    c:\users\kg\desktop

9.删除文件remove

  • os.remove(路径’')

10.删除目录rmdir

  • os.rmdir(‘路径’)
    当目录不为空时不能删除

二、练习

1.复制文件

def file_copy(src,dst):

    file_r = open(src,'r')# open(src,'rb')判断二进制文件写法
    file_w = open(dst,'w')# open(dst,'wb')判断二进制文件写法
    while True:
        content = file_r.read(4096)

        if content == '':# content == b''判断二进制文件写法
            print("拷贝成功")
            break
        file_w.write(content)
    file_r.close()
    file_w.close()

print(sys.argv)
src = sys.argv[0]
dst = sys.argv[1]
file_copy(src,dst)

2.文件批量重命名并复制到另一个文件

import os
def all_copy_rename(src,dst):
    os.chdir(src)
    print(os.getcwd())

    file_list = os.listdir('.')
    for file in file_list:

        p_file = file.rpartition('.')
        dst_file = dst + '/' + p_file[0]+'--'+p_file[1]+p_file[2]
        print(dst_file)
        file_r = open(file,'rt')
        file_w = open(dst_file,'wt')

        while True:
            content = file_r.read(1024)
            if content == '':
                print(f"{file}复制成功")
                file_w.close()
                file_r.close()
                break
            file_w.write(content)
        else:
            print(f"一共复制了{len(file_list)}")


src = "C:/Users/yoki/Desktop/vv"
dst = "C:/Users/yoki/Desktop/v"
all_copy_rename(src,dst)
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值