python书写最简单的文件操作

博客介绍了Python简单文件操作,包含命令行下的简单文件操作代码,仅作练手参考,还给出了文件操作流程图和git代码地址。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

python简单文件操作

此代码为命令行下简单的文件操作,只当练手,仅供参考。

文件操作流程图如下

这里写图片描述

代码如下

git 代码地址点击这里

import  os
import re


'''
author:menglinhai
time: 2018/8/27
function : operate folder
'''
def find_file(path,flag_chang=False):
    '''
    根据输入查找只定目录的文件
    :return:
    '''


    file = input("请输入需要查找的文件:")
    files = os.listdir(path)
    f_result = []
    for f in files:
        if re.search(file,f):
            f_result.append(f)
    print("找到的文件为%s"%(str(f_result)))
    if flag_chang == False:
        flag = input("继续操作本文件夹吗?y/n")
        if flag == "n":
            is_changefolder = input("需要换文件夹吗?y/n")
            if is_changefolder == "y" or is_changefolder == "Y":
                start()
            else:
                return
        elif flag == "y":
            operation(path)
    return (path,f_result)



def save_file(path):
    """
    根据输入目录得到目录下的文件名 文件类型 并保存到files.txt中
    :return:
    """

    files = os.listdir(path)
    result = []
    for f in files:
        type_file = path.split(".")[-1]
        print(f)
        f = f.ljust(50," ")
        type_file = type_file.ljust(10," ")
        result.append((f,type_file))
    with open("files.txt","w") as f:
        for fi in result:

            f.writelines(fi[0]+fi[1])
            f.write("\n")
    flag = input("继续操作本文件夹吗?y/n")
    if flag == "n":
        is_changefolder = input("需要换文件夹吗?y/n")
        if is_changefolder == "y" or is_changefolder == "Y":
            start()
        else:
            return
    elif flag == "y":
        operation(path)

def chang_file_name(path):
    """
    根据查找到的用户名进行替换用户名操作
    :return:
    """
    path ,file = find_file(path,True)
    new_file_name = input("请输入新的文件名:")
    src_file = os.path.join(path,file[0])
    dst_file = os.path.join(path,new_file_name)
    os.rename(src_file,dst_file)
    print("文件更改完成")
    flag = input("继续操作本文件夹吗?y/n")
    if flag == "n":
        is_changefolder = input("需要换文件夹吗?y/n")
        if is_changefolder == "y" or is_changefolder == "Y":
            start()
        else:
            return
    elif flag == "y":
        operation(path)
def input_folder():
    while True:
        path = input("请输入目录:")
        path = re.sub(r'\\', r'/', path)
        if os.path.isdir(path):
            break
        else:
            print("请重新输入:")
    return path
def operation(path):
    flag = input("请输入要进行的操作\n F 表示查找\n S:将只定目录保存到files.txt\n C:表示将查找出的文件进行替换,只能替换第一个文件: \nq:退出")
    if flag.strip() =="F":
        find_file(path)
    elif flag.strip() == "S":
        save_file(path)
    elif flag.strip() == "C":
        chang_file_name(path)

def start():
    path= input_folder()
    operation(path)

if __name__ == '__main__':
    start()
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值