目录

  • 一、使用Python批量创建folder
  • 二、使用python批量创建txt
  • 三、使用 Python批量修改文件名
  • 四、使用Python读取txt中的数据并创建excel
  • 五、使用Python批量删除文件的第一行
  • 六、使用Python批量修改xml文件的内容
  • 七、拆分txt数据:一个txt分组成多个txt(选读Matlab)
  • 八、读取.mat文件的数据,批量写入xml文件(选读Matlab)
  • 九、使用Python读取某文件夹下所有文件并写入txt中
  • 十、使用Python根据已有的txt文件删除某文件夹下的文件

一、使用Python批量创建folder

  1. 主要用到的库就是os;
  2. 代码运行的结果是:在指定文件夹下创建一组文件夹。

part1:代码:

import os            #导入os模块for i in range(1,11):               #使用for循环创建从1到x的文件夹,此处是创建10个文件夹,从 1-10                                        path1 = 'D:/Codedata/test/creat_folder/'  #设置创建后文件夹存放的位置,此处是在creat_folder文件夹下创建一组文件夹path2 = '测试_' + str(i)                #此处可以修改/删除:'测试_'path = os.path.join(path1, path2)       #路径拼接isExist = os.path.exists(path)  #定义一个变量判断文件是否存在if not isExist:                    #如果文件不存在,则创建文件夹,并提示创建成功os.makedirs(path)   print("%s 目录创建成功"%i)else:                           #如果文件存在,则提示已经存在print("%s 目录已经存在"%i)          continue                      #继续上述操作,直到循环结束

part2:运行结果图:

删掉第5行的 ‘测试_’ 后,path2 = str(i) ,意为只创建纯数字命名的文件夹,运行结果如下:


二、使用python批量创建txt

  1. 主要用到的库是os;
  2. 代码运行的结果是:在指定文件夹下创建一组txt。

part1:代码:

import os    #导入os模块for i in range(1,6):   #使用for循环创建5个txt,从1到5path1 = 'D:/Codedata/test/creat_folder/1/' #设置创建后文件夹存放的位置,此处是在creat_folder文件夹下的1文件夹下创建一组txtpath2 = '测试_' + str(i)                   #此处可以修改/删除:'测试_'path = os.path.join(path1,path2)           #路径拼接f = open( path + '.txt',"a")   #a表示没有该文件就新建f.write("")        #写入文件,空f.close()     #执行完结束

part2:运行结果图:

删掉第5行的 ‘测试_’ 后,path2 = str(i) ,意为只创建纯数字命名的txt,运行结果如下:


三、使用 Python批量修改文件名

  1. 主要用到的库os;
  2. 代码的作用是:可以修改指定文件夹下的文件,不限格式(包括:folder、txt等)。

part1:代码:

import os   #导入os模块path = 'D:/Codedata/test/creat_folder/' #需要修改的文件所在的路径#此处是修改在creat_folder文件夹下的一组文件夹的名字
original_name = os.listdir(path)        #读取文件初始的名字
print(original_name) for i in original_name:                 #遍历全部文件os.rename(os.path.join(path,i),os.path.join(path,'测试_'+i))  #修改文件名

part2:运行结果图:


四、使用Python读取txt中的数据并创建excel

  1. 首先,在第二节创建的txt的基础上,给每个txt写入一列9个数据,如下图所示:

  1. 接下来,先实现用Python读取一个txt的数据,并存入excel中,下面的代码针对“测试_1.txt”。

part1:代码:

## 本例中要读取的txt存放的路径为: D:\Codedata\test\creat_folder\1\
## 名字为: 测试_x.txtimport xlwt  #导入excel文件的库# 打开txt文件并读取数据
with open(r'D:/Codedata/test/creat_folder/1/测试_1.txt','r+') as title:  #'r+'表示对文件是进行"读取和写入的模式"layertitle = title.read()layertitle_list= layertitle.split()                       #读取txt文件内容默认是str类型,此处将其分割成一个个元素形成列表# 创建excel用于存放数据
workexcel = xlwt.Workbook(encoding='ascii')                    #创建一个工作表对象
sheet = workexcel.add_sheet('layer1',cell_overwrite_ok=True)   #创建表格,添加一个名为layer1的sheet
i=0  #行变量,初始值为第一行
j=0  #列变量,初始值为第一列
for data in  layertitle_list:     #遍历数据,写入excel文件sheet.write(i,j,data)         #i,j控制表格坐标,左顶点为(0,0)i=i+1                         #控制j=0不变,i每次+1下移一格,表示将数据写成一列
workexcel.save('测试.xls')        #保存文件,这里默认保存到相对路径,即当前工作区的路径

part2:运行结果图:

  1. 继续实现读取同一文件夹下的多个txt的数据,并存入一个表格的同一个sheet中。
    思路:将上一步的代码封装成一个函数,只传入一个 txt_id 用于读取指定的.txt文件。

part1:代码:

#本例中要读取的txt存放的路径为:  D:\Codedata\test\creat_folder\1\  名字为: 测试_x.txt
import xlwt
import os             def read_txt(txt_id):path1 = 'D:'path2 = '\\Codedata'path3 = 'test'path4 = 'creat_folder'path5 = '1'txt_id = '测试_' + str(txt_id) + '.txt'path6 =  txt_idposition = os.path.join(path1,path2,path3,path4,path5,path6) print(position)with open(position,'r+') as title:   # 打开txt文件并读取数据layertitle = title.read()layertitle_list = layertitle.split() return layertitle_listif __name__ == '__main__':workexcel = xlwt.Workbook(encoding='ascii')                   #创建一个工作表对象sheet = workexcel.add_sheet('layer1',cell_overwrite_ok=True)  #创建表格,添加一个名为layer1的sheet for num in range(1,6):  #利用for循环遍历txt文件i=0             ##行变量,初始值为第一行data = read_txt(num) #print(data)for d in data:sheet.write(i,num,d)    #i,j控制表格坐标,左定格为(0,1)下一次(0,2)以此类推i=i+1                   #按列写入数据workexcel.save('测试2.xls') #保存文件,这里默认保存到相对路径

part2:运行结果图:

  1. 如果想实现读取不同文件夹下的txt数据,并存入同一表格的不同sheet怎么办?
    思路:在上一步的read_txt函数中再引入一个folder_id,作为每个sheet的名字同时又能用于for循环中遍历所有文件夹。

part1:代码:

#本例中要读取的txt存放的路径为:  D:\Codedata\test\creat_folder\x\  名字为: 测试_x.txt
import xlwt
import os             def read_txt(txt_id,folder_id):path1 = 'D:'path2 = '\\Codedata'path3 = 'test'path4 = 'creat_folder'path5 = str(folder_id)txt_id = '测试_' + str(txt_id) + '.txt'path6 =  txt_idposition = os.path.join(path1,path2,path3,path4,path5,path6) print(position)with open(position,'r+') as title:   # 打开txt文件并读取数据layertitle = title.read()layertitle_list = layertitle.split() return layertitle_listif __name__ == '__main__':workexcel = xlwt.Workbook(encoding='ascii')                       #创建一个工作表对象for num1 in range(1,11):            #利用for循环遍历文件夹sheet = workexcel.add_sheet(str(num1),cell_overwrite_ok=True) #创建10个sheet       for num2 in range(1,6):        #利用for循环遍历txt文件i=0                        ##行变量,初始值为第一行data = read_txt(num2,num1) #print(data)for d in data:sheet.write(i,num2,d)  #i,j控制表格坐标,左定格为(0,1)下一次(0,2)以此类推i=i+1                  #按列写入数据workexcel.save('测试3.xls')   #保存文件,这里默认保存到相对路径

part2:运行结果图:

......


五、使用Python批量删除文件的第一行

  • 面临的问题:自己创建的标签文件,打开之后发现第一行有version的信息,所以想把所有的标签的第一行都删掉~

    1. 主要用到的库就是os;
    2. 代码运行的结果是:对指定文件夹下的所有文件的第一行都进行删除的操作。

part1:代码:

import osfor f in os.listdir('.'):if '.xml' in f:     #此处的.xml可以修改为.txt等文件格式lines = open(f,encoding='utf-8').readlines()open(f, 'w',encoding='utf-8').writelines(lines[1:])

part2:运行结果图:


六、使用Python批量修改xml文件的内容

  • 面临问题:在处理一个数据集的标签时,我发现读取的分类标签name是同时含有大小写的,所以想把所有的分类都替换为小写的~
  • 运行下面的代码时,需要注意的是区分:当前工作路径xml文件存储的路径

part1:代码:

#第一步:导入库
import os
import os.path
from xml.etree.ElementTree import parse, Element#第二步:定义一个函数,功能:批量修改xml中内容
def test():path = "E:\\annotation"   #xml文件所在的目录,举例 E:\annotationfiles = os.listdir(path)  # 获得文件夹下所有文件名s = []for xmlFile in files:     # 遍历文件夹if not os.path.isdir(xmlFile):  # 判断是否是文件夹,不是文件夹才打开printxmlFilepasspath = "E:\\annotation"print(xmlFile)        #输出文件名,方便知道在处理哪个xml文件path1 = xmlFile       #定位当前处理的文件的工作路径newStr = os.path.join(path, xmlFile)class1 = "bus"       #这是你想最终显示的内容class2 = "truck"     #此处我想换成把原来的全部换成小写class3 = "suv"       #这里举了3个例子dom = parse(newStr)    #路径拼接,输入的是具体路径root = dom.getroot()#print(root)for obj in root.iter('object'):      #获取object节点中的name子节点if obj.find('name').text == 'Bus':  #判断获取的name节点下的内容是否为Busprint('1')                      # 输出1obj.find('name').text=class1  name1 = obj.find('name').text   #修改print(name1)elif obj.find('name').text == 'Truck': print('2')obj.find('name').text=class2name2 = obj.find('name').text   #修改print(name2)elif obj.find('name').text == 'SUV':print('3')obj.find('name').text=class3name3 = obj.find('name').text   #修改print(name3)dom.write(path1, xml_declaration=True) #将修改后的xml保存到当前工作的路径下pass
if __name__ == '__main__':test()

part2:运行结果图:


七、拆分txt数据:一个txt分组成多个txt(选读Matlab)

【注】拆分一个包含很多数据的txt文件,使用的工具是matlab。

  1. 基础版:将一个包含73728(576*128)个数据的按列存放的txt文件,拆分成128组,每组的576个数据存于一个txt中。也就是说,代码运行之后,在指定文件夹下应该有128个txt,每个txt中有576个数据是按列存放的。

part1:代码:

A =importdata('D:\Codedata\test\newspace\forexcel\weights_32.txt'); %导入包含带分组数据的txt文件
B=reshape(A,576,128);         %将数据分成128组,每组576个
mkdir('D:\Codedata\test\newspace\forexcel\','分组1'); %创建一个名为‘分组1’的文件夹
for j=1:128                   %生成128个txt,每个txt中包含576个数据n = strcat('D:\Codedata\test\newspace\forexcel\','分组1','\',num2str(j),'.txt');fid=fopen(n,'w');fprintf(fid,'%g\n',B(:,j));fclose(fid);
end

part2:运行结果图:

打开1.txt 的结果-->

  1. 升级版:将上一步的128个txt进行拆分,每个txt对应一个文件夹,每一个文件夹下将576(9*64)个数据拆分成64组,每组的9个数据存于一个txt中。

part1:代码:

for i=1:128mkdir('D:\Codedata\test\newspace\forexcel\分组2\',int2str(i));  %创建128个文件夹,同时将matlab的当前工作路径设置为此filename = ['D:\Codedata\test\newspace\forexcel\分组1\',int2str(i),'.txt'];  A = load(filename);  %使用load()函数读取128个txt文件的数据B=reshape(A,9,64);   %将数据分成64组,每组9个数据for j=1:64           %生成64个txt,每个txt中包含9个数据n = strcat('D:\Codedata\test\newspace\forexcel\分组2\',int2str(i),'\','测试_',num2str(j),'.txt');fid=fopen(n,'w');fprintf(fid,'%g\n',B(:,j));fclose(fid);end
end

part2:运行结果图:

打开1文件夹 -> 打开测试1.txt ->


八、读取.mat文件的数据,批量写入xml文件(选读Matlab)

  • 面临问题:下载了一个网上的数据集,没有提供直接的标签,只给了一个.mat格式的文件,用Matlab读取,批量转换为符合VOC数据集格式的标签文件。

part1:代码:

data=load('D:/Program Files/MATLAB2019b/MYcode/VehicleInfo.mat')   %.mat文件存储的路径
cars=data.VehicleInfo;
for n=1:length(cars)n;car=cars(n);%%%每一辆车新建一个xml文件存储车的信息carName=car.name;%图片的高度carHeight=car.height;%图片的宽度carWidth=car.width;%新建xml文件annotation = com.mathworks.xml.XMLUtils.createDocument('annotation');annotationRoot = annotation.getDocumentElement;  %定义子节点.xml的存储路径folder=annotation.createElement('folder');folder.appendChild(annotation.createTextNode(sprintf('%s','JPEGImages')));%这里为xml存放的目录annotationRoot.appendChild(folder);%图片的名称jpgName=annotation.createElement('filename');jpgName.appendChild(annotation.createTextNode(sprintf('%s',carName(end-10:end-4),'.jpg')));   %获取倒数第11-倒数第5的字符annotationRoot.appendChild(jpgName);%路径jpgPath=annotation.createElement('path');jpgPath.appendChild(annotation.createTextNode(sprintf('%s','/home/phm/E/YOLOX/YOLOX-main/datasets/JPEGImages/',carName(end-10:end-4),'.jpg')));annotationRoot.appendChild(jpgPath);%sourcejpgSource=annotation.createElement('source');annotationRoot.appendChild(jpgSource);database=annotation.createElement('database');database.appendChild(annotation.createTextNode(sprintf('%s','Unknown')));jpgSource.appendChild(database);%添加图片的sizejpgSize=annotation.createElement('size');annotationRoot.appendChild(jpgSize);%定义size的子节点%图片宽度width=annotation.createElement('width');width.appendChild(annotation.createTextNode(sprintf('%i',carWidth)));jpgSize.appendChild(width);%图片高度height=annotation.createElement('height');height.appendChild(annotation.createTextNode(sprintf('%i',carHeight)));jpgSize.appendChild(height);%图片深度,彩色图片3depth=annotation.createElement('depth');depth.appendChild(annotation.createTextNode(sprintf('%i',3)));jpgSize.appendChild(depth);segmented=annotation.createElement('segmented');segmented.appendChild(annotation.createTextNode(sprintf('%i',0)));%表示已经标注过了annotationRoot.appendChild(segmented);%接下来是每一辆车的标注信息        %%carVehicles=car.vehicles;L=length(carVehicles);if L>1carNameLendfor nn=1:length(carVehicles)vehicle=carVehicles(nn);%标注框的最左侧坐标vLeft=vehicle.left;%标注框的最上边坐标vTop=vehicle.top;%标注框的最右侧坐标vRight=vehicle.right;%标注框最下面坐标vBottom=vehicle.bottom;%车的类别vCategory=vehicle.category;%图片中有多少个标注对象carNvehicles=car.nVehicles;%在这里生成每一符图片的txt文件,用于%%注意一张图片中可能会有多个对象%%matlab直接生成xml对象???%将这一辆车的信息注入xml中object=annotation.createElement('object');annotationRoot.appendChild(object);%标注框类别名称categoryName=annotation.createElement('name');categoryName.appendChild(annotation.createTextNode(sprintf('%s',vCategory)));object.appendChild(categoryName);pose=annotation.createElement('pose');pose.appendChild(annotation.createTextNode(sprintf('%s','Unspecified')));object.appendChild(pose);truncated=annotation.createElement('truncated');truncated.appendChild(annotation.createTextNode(sprintf('%i',0)));object.appendChild(truncated);difficult=annotation.createElement('difficult');Difficult.appendChild(annotation.createTextNode(sprintf('%i',0)));object.appendChild(Difficult);bndbox=annotation.createElement('bndbox');object.appendChild(bndbox);xmin=annotation.createElement('xmin');xmin.appendChild(annotation.createTextNode(sprintf('%i',vLeft)));bndbox.appendChild(xmin);ymin=annotation.createElement('ymin');ymin.appendChild(annotation.createTextNode(sprintf('%i',vTop)));bndbox.appendChild(ymin);xmax=annotation.createElement('xmax');xmax.appendChild(annotation.createTextNode(sprintf('%i',vRight)));bndbox.appendChild(xmax);ymax=annotation.createElement('ymax');ymax.appendChild(annotation.createTextNode(sprintf('%i',vBottom)));bndbox.appendChild(ymax);     end%存储xmlsavePath=['D:\BITVehicle_xml\',carName(1:end-3),'xml'];    %指定文件夹用于存放生成的xml文件xmlwrite(savePath,annotation);
end

2022/4/26补充:


九、使用Python读取某文件夹下所有文件并写入txt中

  • 面临问题:在准备好数据集后,都是通过读取.txt的内容实现对图片的调用训练的,因此需要将一个包含图片的文件夹中的全部.jpg名字读成一个txt。
  • 举例:以下文件夹是存放图片的文件夹,我想将它包含的10张图片读成一个.txt,详见如下两图介绍。

way1:生成的txt中只有图片名的代码:

  • 需要先创建一个.txt用于存放信息,因为代码中没有创建的过程
  • 注意修改自己的路径,一共有两处
#导入需要的库
import sys
import os
import random #导入随机函数#存放原始图片地址
data_base_dir = r"D:\Codedata\test_pic"
#建立列表,用于保存图片信息
file_list = []
#读取图片文件,并将图片名写到txt文件中
write_file_name = 'D:/Codedata/test_pic.txt'
write_file = open(write_file_name, "w") #以只写方式打开write_file_name文件for file in os.listdir(data_base_dir): #file为current_dir当前目录下图片名if file.endswith(".jpg"): #如果file以jpg结尾write_name = file #图片路径 + 图片名 + 标签file_list.append(write_name) #将write_name添加到file_list列表最后sorted(file_list) #将列表中所有元素随机排列number_of_lines = len(file_list) #列表中元素个数#将图片信息写入txt文件中,逐行写入
for current_line in range(number_of_lines):write_file.write(file_list[current_line] + '\n')#关闭文件
write_file.close()

way2:生成的txt包含图片路径及图片名的代码:

  • 需要先创建一个.txt用于存放信息,因为代码中没有创建的过程
  • 注意修改自己的路径,一共有三处
#导入需要的库
import sys
import os
import random #导入随机函数#存放原始图片地址
data_base_dir = r"D:\Codedata\test_pic"
#建立列表,用于保存图片信息
file_list = []
#读取图片文件,并将图片地址、图片名写到txt文件中
write_file_name = 'D:/Codedata/test_pic.txt'
#以只写方式打开write_file_name文件
write_file = open(write_file_name, "w") for file in os.listdir(data_base_dir): #file为current_dir当前目录下图片名if file.endswith(".jpg"): #如果file以jpg结尾write_name = file #图片路径 + 图片名 + 标签file_list.append(write_name) #将write_name添加到file_list列表最后sorted(file_list) #将列表中所有元素随机排列number_of_lines = len(file_list) #列表中元素个数#将图片信息写入txt文件中,逐行写入
for current_line in range(number_of_lines):write_file.write('D:\\Codedata\\test_pic\\' + file_list[current_line] +'\n')#关闭文件
write_file.close()

way3:如果是linux系统,在终端输入一条指令就可以生成txt,包含图片路径及图片名:
在想要生成txt的路径下打开终端,输入:

ls -R 包含图片的路径/* >xxx.txt

例如:我的包含图片的路径是/home/phm/F/fxh/test_resolution/picture/car_480x854_L1
我想在这个路径下生成一个input.txt,所以在此路径下打开终端,输入:
ls -R /home/phm/F/fxh/test_resolution/picture/car_480x854_L1/* > test.txt

生成的input.txt的内容如下:【注意:此方法仅适用于图片数量较少的情况】


十、使用Python根据已有的txt文件删除某文件夹下的文件

  • 在上一节的基础上,我们已经获得了包含图片路径及图片名的.txt文件,现在想利用这个txt删除指定文件夹下的图片文件
  • 先展示已经具备的文件环境:
  1. test_pic的文件夹中有需要删掉的图片,也有需要保留的图片
  2. 可以通过test_pic.txt中包含的图片路径对此文件夹进行操作
  3. 假设想删除1-10.jpg,保留1-10-副本.jpg

part1:代码:

#导入库
import os#把txt读成列表data
input_file =  r'D:/Codedata/test_pic.txt' ##需要删除的文件名组成的txt文件
with open(input_file, 'r') as f:data = f.read().splitlines()#读取待删除的文件夹下的全部文件,读成列表filelist
rootdir=r'D:\Codedata\test_pic'
filelist=os.listdir(rootdir)#删除操作
for file in data:if '.jpg' in file:del_file = file #使用txt中的路径os.remove(del_file)#删除文件print("已经删除:",del_file)

part2:运行结果图:

如果.txt是只包含图片名,而没有路径的,则需要在上述代码中做一处修改

第16行的del_file = file修改为:

del_file = rootdir + '\\' + file #当代码和要删除的文件不在同一个文件夹时,必须使用绝对路径

Python批量处理文件的方法总结(包括folder、txt、xml、excel)相关推荐

  1. 巧用Python:用Python批量复制文件,方法有9种,方便快捷

    当我们复制一个文件时用复制粘贴就可以了,如果是多个文件呢?就会很麻烦了,今天给大家介绍一下用Python批量复制文件,方法有九种!希望对你有帮助 1. Shutil Copyfile()方法 该方法只 ...

  2. python批量读取文件赋值给一个参数_python txt中的文件,逐行读取,每行赋值给变量...

    展开全部 我的方案应该可以完美解决你的问题.首先,你得找一个.txt的文本,我是.ini,都一样62616964757a686964616fe59b9ee7ad9431333431373935,有几行 ...

  3. Python从数据库读取大量数据批量写入文件的方法

    今天小编就为大家分享一篇Python从数据库读取大量数据批量写入文件的方法,具有很好的参考价值,希望对大家有所帮助.一起跟随小编过来看看吧 使用机器学习训练数据时,如果数据量较大可能我们不能够一次性将 ...

  4. python批量读取文件内容_Python从数据库读取大量数据批量写入文件的方法

    使用机器学习训练数据时,如果数据量较大可能我们不能够一次性将数据加载进内存,这时我们需要将数据进行预处理,分批次加载进内存. 下面是代码作用是将数据从数据库读取出来分批次写入txt文本文件,方便我们做 ...

  5. python读取数据库数据、并保存为docx_Python从数据库读取大量数据批量写入文件的方法...

    Python从数据库读取大量数据批量写入文件的方法 使用机器学习训练数据时,如果数据量较大可能我们不能够一次性将数据加载进内存,这时我们需要将数据进行预处理,分批次加载进内存. 下面是代码作用是将数据 ...

  6. python读取大文件-使用Python读取大文件的方法

    背景 最近处理文本文档时(文件约2GB大小),出现memoryError错误和文件读取太慢的问题,后来找到了两种比较快Large File Reading 的方法,本文将介绍这两种读取方法. 准备工作 ...

  7. Python批量复制文件

    Python批量复制文件 首先需要安装shutil库 pip install pytest-shutil # -*- coding: utf-8 -*- """ Crea ...

  8. python批量创建文件夹

    python批量创建文件夹 觉得有用的话,欢迎一起讨论相互学习~ 参考资料 Python:os.path.join()产生的斜杠在Windows和Linux下的不同表现和解决方法 python获取指定 ...

  9. python 批量创建文件(txt,word)

    python 批量创建文件(txt,word) python如何根据一个excel中的一列数据作为文件名称来批量创建文件. 用到的库是os和pandas import pandas as pd# 首先 ...

最新文章

  1. hdu 2255二分图最大权值匹配的KM 算法
  2. 易语言 服务器抓包,易语言抓包获得地址实现TP路由器登陆的代码
  3. 苹果4如何添加时间插件_苹果手机如何添加九键或26键输入法?iPhone怎样快速切换输入法?...
  4. Fragment生命周期及其使用
  5. php学习----运算符
  6. C语言实现动态数字雨
  7. android5.0电话录音,用Xpose完美实现电话录音,支持android 8.1.0
  8. gatk过滤_vcf文件过滤
  9. 服务器修复oxc0000098,修复oxc0000098的方法
  10. chrome扩展设置代理
  11. J2me项目实例------网络通讯录(1) (转)
  12. RICOH 打印机 打印速度突然变慢
  13. Excel 使用ODBC直接访问
  14. electron 调试
  15. Yade 安装时编译错误求问
  16. Redis常见面试题汇总
  17. 工作站,台式机,服务器区别
  18. 并网逆变器学习笔记1---虚拟同步机控制(VSG)
  19. 【论文阅读】Towards Graph Self-Supervised Learning with Contrastive Adjusted Zooming
  20. 你知道.c是如何变成.exe的吗

热门文章

  1. pytorch报错: scatter_cpu_(): Expected self.dtype to be equal to src.dtype
  2. 移动CRM领域的美国队长——爱客钉钉当之无愧
  3. Codecombat, 寓教于乐
  4. 小程序:last-child选择器失效(及其解析)
  5. android蓝牙模块有哪些类型,蓝牙串口模块是什么?怎么用?有哪些种类?
  6. 2023完整影视小程序前后端源码+无需授权/暗黑UI
  7. H5调用微信app支付
  8. 12 个强大的现代 CSS 技术
  9. matlab腔体滤波器,腔体滤波器设计问题
  10. 猿人学题库第二题——简易动态js加密解析