一、读yml文件
with open('../config.yml', 'r') as f:
config = yaml.safe_load(f)
- 打开 config.yml 这个文件,尝试用 safe_load 这个函数进行解析。
二、os.path.abspath()
data_path = os.path.abspath(config['data_path'])
三、os.path.join()
image_folder = os.path.join(data_path,'images/')
csv_folder = os.path.abspath('./mini-ImageNet_split/')
target_folder = os.path.join(data_path,'mini-ImageNet')
- os.path.join():用于路径拼接文件路径,可以传入多个路径。
- os.path.abspath():获取绝对路径。
四、mkdir()
util.mkdir(target_folder)
五、readlines()和tqdm()
with open(csv_file,'r') as f:
for line in tqdm(f.readlines()[1:]):
- readlines():用于读取所有行(直到结束符 EOF)并返回列表 。
- tqdm():进度条。
六、line.strip().split(',')
line = line.strip().split(',')
- split():通常是对字符串进行操作,操作完之后的结果,变成了一个字符串列表。split函数按照括号内给定的字符进行分割,如果括号内是空的,也就是没有指定具体的分割内容的话,那么就默认的按照空格进行分割。
- strip():对字符串进行操作,删除当前得到的这个字符串的首尾字符,如果括号里面为空的话,会默认删除当前字符串的首尾的空格和换行符。
七、append()
cat_list.append(cat)
八、shutil模块
shutil.copy(os.path.join(image_folder,img_path),os.path.join(target_folder,i,cat,img_path))
- shutil.copy(src,dst):复制文件
src
到 dst
文件或文件夹中。 如果 dst
是文件夹, 则会在文件夹中创建或覆盖一个文件,且该文件与 src
的文件名相同。 文件权限位会被复制。使用字符串指定src
和 dst
路径。