修改文件内容,并另存为新的文件

目录

一 背景

二 思路

三 代码示例(demo)


一 背景

压测需要准备测试数据,即1000以上个文件,其中只有一个值不一样,因此想通过脚本你批量生成文件

二 思路

1、先创建一个demo文件

2、将demo文件复制到新文件

3、修改新文件

三 代码示例(demo)

import os
import uuid
import resave

data_path = os.path.join(os.path.dirname(os.path.abspath(__file__)), 'test_data')  # 数据存放目录
file_path = os.path.join(data_path, 'data_demo')   # demo文件所在目录

for i in range(5):
    file_path1 = os.path.join(data_path, f'test_data{i}')  # 新文件所在目录
    resave.File_SaveAs(file_path, file_path1)    # 复制demo文件,并另存为新文件

    # 修改f2文件内容(f1文件保持不变)
    with open(file_path1, 'w') as fs:
        guid = str(uuid.uuid1())  # 要修改的内容(根据实际情况更改)
        fs.write(guid)

resave.py

引载:Python实现 文件另存为功能_qq_278339675的博客-CSDN博客_python另存为文件

# 复制f1文件,存为f2文件
def File_SaveAs(f1, f2):
    with open(f1, 'rb') as fp1:
        b1 = fp1.read()

    with open(f2, 'wb') as fp2:
        fp2.write(b1)

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 在MATLAB中,可以使用`edfread`函数来读取EDF(European Data Format)文件,并使用`save`函数将读取的数据保存为MAT文件。 以下是将EDF文件批量读取并另存为MAT文件的代码: ```matlab % 设置EDF文件夹路径 edfFolderPath = 'EDF文件夹路径'; % 获取EDF文件夹中的所有EDF文件名 fileList = dir(fullfile(edfFolderPath, '*.edf')); numFiles = length(fileList); % 循环读取和保存EDF文件 for i = 1:numFiles % 获取当前EDF文件名 fileName = fileList(i).name; % 构建当前EDF文件的完整路径 filePath = fullfile(edfFolderPath, fileName); % 使用edfread函数读取EDF文件的数据和属性 [data, header] = edfread(filePath); % 构建保存MAT文件的路径和文件名 matFilePath = fullfile(edfFolderPath, [fileList(i).name(1:end-4) '.mat']); % 使用save函数将EDF数据保存为MAT文件 save(matFilePath, 'data', 'header'); disp(['EDF文件 ' fileName ' 已成功转换为MAT文件']); end ``` 请将代码中的`edfFolderPath`替换为EDF文件所在的文件夹的路径。此代码会遍历指定文件夹中的所有EDF文件,使用`edfread`函数读取EDF文件的数据和属性,然后使用`save`函数将数据和属性保存为MAT文件。每个EDF文件的MAT文件保存在与原始EDF文件相同的文件夹中,并以相同的文件名为基础,只是文件扩展名变为.mat。 代码执行时,会打印每个EDF文件转换为MAT文件的成功信息。 ### 回答2: 以下是一个示例代码,可以批量读取.edf文件并将其另存为.mat文件。 ```python import mne import os # 定义待处理的.edf文件夹路径 edf_folder = "your_edf_folder" # 定义保存.mat文件文件夹路径 mat_folder = "your_mat_folder" # 获取.edf文件夹下的所有文件名 edf_files = os.listdir(edf_folder) for edf_file in edf_files: if edf_file.endswith(".edf"): # 构建.edf文件的完整路径 edf_path = os.path.join(edf_folder, edf_file) # 构建.mat文件的完整路径 mat_path = os.path.join(mat_folder, os.path.splitext(edf_file)[0] + ".mat") # 读取.edf文件 raw = mne.io.read_raw_edf(edf_path, preload=True) # 将.edf数据存储为.mat文件 raw.save(mat_path, overwrite=True) ``` 需要注意的是,为了运行上述代码,您需要安装并导入MNE-Python库。您可以使用以下命令来安装该库: ```python pip install mne ``` 请根据您的实际情况修改示例代码中的文件夹路径,以确保代码能够正确运行。 ### 回答3: 批量读取edf文件另存为.mat文件的代码如下: ```python import os import pyedflib import scipy.io def batch_convert_edf_to_mat(edf_folder, mat_folder): edf_files = os.listdir(edf_folder) for edf_file in edf_files: if edf_file.endswith('.edf'): edf_path = os.path.join(edf_folder, edf_file) # 读取edf文件 edf_data = pyedflib.EdfReader(edf_path) signals = [] for i in range(edf_data.signals_in_file): signals.append(edf_data.readSignal(i)) # 保存为.mat文件 mat_file_name = edf_file[:-4] + '.mat' mat_file_path = os.path.join(mat_folder, mat_file_name) scipy.io.savemat(mat_file_path, {'signals': signals}) print(f"{edf_file}转换为{mat_file_path}成功!") edf_folder = 'EDF文件夹路径' mat_folder = '保存.mat文件文件夹路径' batch_convert_edf_to_mat(edf_folder, mat_folder) ``` 以上代码实现了批量读取给定文件夹下的所有.edf文件,并将其转换为.mat文件保存到指定文件夹中。需要将`EDF文件夹路径`替换为实际的EDF文件所在文件夹的路径,将`保存.mat文件文件夹路径`替换为保存.mat文件文件夹的路径。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值