import os, glob if __name__ == '__main__': txt_list = glob.glob("E:/bzl_online_dataset/2020-07-20/imgs/*.txt") for txt_item in txt_list: with open(txt_item) as f: lines = f.readlines() with open(txt_item, 'w') as f: for line in lines: line_split = line.strip().split() line_split[0] = '0' f.write( line_split[0] + ' ' + line_split[1] + " " + line_split[2] + " " + line_split[3] + " " + line_split[4]+'\n') pass
时间: 2024-02-10 10:22:48 浏览: 64
这段代码的作用是将指定文件夹下的所有txt文件中第一列的数字替换成0,并保存到原文件中。其中,使用了glob.glob函数获取指定文件夹下所有的txt文件路径,然后使用with语句打开文件进行读取和写入操作。读取时使用了readlines函数,将文件内容存储到lines变量中;写入时使用了write函数,将修改后的行重新写入到文件中。
相关问题
下面代码转化为paddle2.2.2代码 :from __future__ import division import os, time, scipy.io import torch import torch.nn as nn import torch.optim as optim import numpy as np import glob import cv2 import argparse from PIL import Image from skimage.measure import compare_psnr,compare_ssim from tensorboardX import SummaryWriter from models import RViDeNet from utils import * parser = argparse.ArgumentParser(description='Pretrain denoising model') parser.add_argument('--gpu_id', dest='gpu_id', type=int, default=0, help='gpu id') parser.add_argument('--num_epochs', dest='num_epochs', type=int, default=33, help='num_epochs') parser.add_argument('--patch_size', dest='patch_size', type=int, default=128, help='patch_size') parser.add_argument('--batch_size', dest='batch_size', type=int, default=1, help='batch_size') args = parser.parse_args() os.environ["CUDA_VISIBLE_DEVICES"] = str(args.gpu_id) save_dir = './pretrain_model' if not os.path.isdir(save_dir): os.makedirs(save_dir) gt_paths1 = glob.glob('./data/SRVD_data/raw_clean/MOT17-02_raw/*.tiff') gt_paths2 = glob.glob('./data/SRVD_data/raw_clean/MOT17-09_raw/*.tiff') gt_paths3 = glob.glob('./data/SRVD_data/raw_clean/MOT17-10_raw/*.tiff') gt_paths4 = glob.glob('./data/SRVD_data/raw_clean/MOT17-11_raw/*.tiff') gt_paths = gt_paths1 + gt_paths2 + gt_paths3 + gt_paths4 ps = args.patch_size # patch size for training batch_size = args.batch_size # batch size for training
把原始代码转换为PaddlePaddle 2.2.2 的代码如下:
```python
import os
import time
import argparse
import glob
import cv2
import numpy as np
from PIL import Image
from skimage.measure import compare_psnr, compare_ssim
from tensorboardX import SummaryWriter
from models import RViDeNet
from utils import *
import paddle
from paddle import nn
from paddle.optimizer import optim
paddle.set_device('gpu')
parser = argparse.ArgumentParser(description='Pretrain denoising model')
parser.add_argument('--gpu_id', dest='gpu_id', type=int, default=0, help='gpu id')
parser.add_argument('--num_epochs', dest='num_epochs', type=int, default=33, help='num_epochs')
parser.add_argument('--patch_size', dest='patch_size', type=int, default=128, help='patch_size')
parser.add_argument('--batch_size', dest='batch_size', type=int, default=1, help='batch_size')
args = parser.parse_args()
save_dir = './pretrain_model'
if not os.path.isdir(save_dir):
os.makedirs(save_dir)
gt_paths1 = glob.glob('./data/SRVD_data/raw_clean/MOT17-02_raw/*.tiff')
gt_paths2 = glob.glob('./data/SRVD_data/raw_clean/MOT17-09_raw/*.tiff')
gt_paths3 = glob.glob('./data/SRVD_data/raw_clean/MOT17-10_raw/*.tiff')
gt_paths4 = glob.glob('./data/SRVD_data/raw_clean/MOT17-11_raw/*.tiff')
gt_paths = gt_paths1 + gt_paths2 + gt_paths3 + gt_paths4
ps = args.patch_size # patch size for training
batch_size = args.batch_size # batch size for training
num_epochs = args.num_epochs
train_dataset = DatasetDenoising(gt_paths, ps=ps)
train_loader = paddle.io.DataLoader(train_dataset, batch_size=batch_size, shuffle=True, num_workers=4)
model = RViDeNet()
model.train()
optimizer = optim.Adam(learning_rate=1e-4, parameters=model.parameters())
writer = SummaryWriter()
for epoch in range(num_epochs):
epoch_start_time = time.time()
epoch_loss = 0
for i, (noisy_patches, gt_patches) in enumerate(train_loader()):
noisy_patches = paddle.to_tensor(noisy_patches)
gt_patches = paddle.to_tensor(gt_patches)
output = model(noisy_patches)
loss = nn.functional.mse_loss(output, gt_patches)
optimizer.clear_grad()
loss.backward()
optimizer.step()
epoch_loss += loss
epoch_time = time.time() - epoch_start_time
epoch_loss = epoch_loss / len(train_loader)
print("Epoch [{}/{}] Loss: {:.5f} [{:.2f}s]".format(epoch + 1, num_epochs, epoch_loss, epoch_time))
writer.add_scalar("Loss/train", epoch_loss, epoch + 1)
if (epoch + 1) % 10 == 0:
model_path = os.path.join(save_dir, 'RViDeNet_epoch{}.pdparams'.format(epoch + 1))
paddle.save(model.state_dict(), model_path)
print("Saving model to: {}".format(model_path))
writer.close()
```
read_verilog [glob ../../../../../../core/source/vlog/xpresslink_io/xilinx/*.v]中断glob什么作用
`glob`是一个Tcl的命令,用于在文件系统中查找符合特定模式的文件路径。在这个语句中,`glob`命令用于获取指定路径下所有以`.v`为扩展名的Verilog文件的路径列表,并将其作为参数传递给`read_verilog`命令。这样,`read_verilog`命令将读取所有这些Verilog文件,并将它们编译到当前的设计中。
阅读全文