Python代码事项

这篇博客介绍了如何使用Python进行OS文件操作,包括自动创建文件夹和判断文件是否存在。此外,还详细讲解了利用CPU进行并行计算,特别是通过`re.search`对mat格式文件进行搜索,并给出了相关例子。最后,博主分享了如何获取系统内存的使用情况。

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

OS 文件夹

自动创建文件夹

import os                                              # 导入必要模块

path="/home/username/.."         #文件保存路径,如果不存在就会被重建

os.makedirs(path,exist_ok=True) 

判断文件是否在路径存在
 os.path.isfile(save_dir + '/' + sess_num + '.csv')

CPU并行计算 (re search,以mat格式文件为例)

导入必要python包

import scipy.io
import glob
import re
import sys, os
from joblib import Parallel, delayed

 导入mat格式文件

mat = scipy.io.loadmat(file_name_i, squeeze_me=True, struct_as_record=True)

 * 用re包搜索mat格式文件的名字,比如

try:
    sess_num = re.search(r'(/)([0-9]*)(.mat)',file_name_i).group(2)
except:
    sess_num = re.search(r'(/)([0-9]*_[0-9]*)(.mat)',file_name_i).group(2)

其中re.research的用法举例
        a = "123abc456"
        print re.search("([0-9]*)([a-z]*)([0-9]*)",a).group(0)   #123abc456,返回整体
        print re.search("([0-9]*)([a-z]*)([0-9]*)",a).group(1)   #123
        print re.search("([0-9]*)([a-z]*)([0-9]*)",a).group(2)   #abc
        print re.search("([0-9]*)([a-z]*)([0-9]*)",a).group(3)   #456

group(num)的num返回的是第几个括号

* 加载后缀为.mat的文件名

mat_files_match = data_dir + '/*.mat'
data_files = glob.glob(mat_files_match)
data_files.sort()

并行计算 

先定义main函数(以传入file name为例)

def main(file_name_i):

         [要运行的程序]

再并行运行,如果要返回值,return或者保存存下来

njobs = 27
Parallel(n_jobs=njobs)( delayed(main) (file_name_i) for file_name_i in data_files ) 

查看内存占用

def get_memory_usage():

        memory = psutil.virtual_memory()

        used_memory = memory.used / (1024**3)

        free_memory = memory.available /(1024**3)

        # total_memory = memory.total / (1024**3)

        return used_memory, free_memory

used_memory, free_memory = get_memory_usage()

print(f"Used Memory: {used_memory} GB, {used_memory/free_memory} %")

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值