栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

python 文件操作

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

python 文件操作

模块

import os

from shutil import copyfile

#遍历文件目录
def findAllFilesWithSpecifiedSuffix(target_dir, target_suffix="txt"):
    find_res = []
    target_suffix_dot = "." + target_suffix
    walk_generator = os.walk(target_dir)
    for root_path, dirs, files in walk_generator:
        if len(files) < 1:
            continue
        for file in files:
            file_name, suffix_name = os.path.splitext(file)
            if suffix_name == target_suffix_dot:
                #find_res.append(os.path.join(root_path, file))
                find_res.append(file)
    return find_res
#转小写
def toLowerCase(str):
        """
        :type str: str
        :rtype: str
        """
        return "".join(chr(ord(c) + 32) if 65 <= ord(c) <= 90 else c for c in str)
# 这个程序的作用:
# 可以将A目录下的所有文件以及A目录下的文件夹中的文件复制到另外一个目录B里并且保留所有目录结构
# 这个程序的作用等同于windows下直接将一个文件夹复制到另一个文件夹中(windows的复制也是保留目录结构的)
# 但是不同点是:这个程序复制出的所有文件以及文件夹他们的修改日期、访问日期都是当前系统时间
#               而windows系统的复制之后的文件的修改日期、访问日期都和复制前的时间一样
# 目的:我需要修改一个工程内所有代码文件的创建日期,发现直接在windows下复制实现不了,于是用代码试了试,下面是我
#       实现的python代码(如果文件不多的话,要实现该功能也可以用下面的方法:打开文件,然后随便编辑一个
#       文字->保存->删除刚才编辑的文字->保存。这样做之后修改日期会改为当前时间,创建时间依然不变。)
number = 0

# 递归函数
def copy_file(path_read, path_write):
    # 将number设置为全局变量
    global number
    # 输出path_read目录下的所有文件包括文件夹的名称
    names = os.listdir(path_read)
    # 循环遍历所有的文件或文件夹
    for name in names:
        # 定义新的读入路径(就是在原来目录下拼接上文件名)
        path_read_new = path_read + "\" + name
        # 定义新的写入路径(就是在原来目录下拼接上文件名)
        path_write_new = path_write + "\" + name
        # 判断该读入路径是否是文件夹,如果是文件夹则执行递归,如果是文件则执行复制操作
        if os.path.isdir(path_read_new):
            # 判断写入路径中是否存在该文件夹,如果不存在就创建该文件夹
            if not os.path.exists(path_write_new):
                # 创建要写入的文件夹
                os.mkdir(path_write_new)
            # 执行递归函数,将文件夹中的文件复制到新创建的文件夹中(保留原始目录结构)
            copy_file(path_read_new, path_write_new)
        else:
            # 每复制一次,number+1
            number += 1
            # 将文件path_read_new复制到path_write_new
            copyfile(path_read_new, path_write_new)

    #调用方法
    #生成文件
    # 从该文件夹中复制出来
    path_read = r'C:UsersAdministratorDesktopapp'
    # 复制到该文件夹
    path_write = r"C:UsersAdministratorDesktopnewapp"
    if not os.path.exists(path_write):
        os.makedirs(path_write)
    # 执行递归函数
    copy_file(path_read, path_write)
    # 输出一共有多少个文件
    print(number)
f = open(v,"r",encoding='utf-8')  #可读可写二进制,文件若不存在就创建
lines=[]
for line in f.readlines():#行读取
	lines.append(line)
s=''.join(lines)
f=open(v,'w+',encoding='utf-8')
f.write(s)
f.close()
os.rename(oldname,newname)#重命名文件

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/339665.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号