我想使用python 3.7.0中的os模块将名称相似的文件从一个目录移动到另一个目录。例如,我有名称为A1B1,A1B2,A2B1,A2B2等的文本文件。如何在名为A1的目录中移动名称为A1Bn(n = 1,2,3 ...)的文件和在名为A2的目录中移动名称为A2Bn(n = 1,2,3 ...)的文件。如何检查文件名。 谢谢...
答案 0 :(得分:0)
使用glob
和os
(也可以使用shutil
):
import glob
import os
a1_files = glob.glob('A1*')
a2_files = glob.glob('A2*')
for filename in a1_files:
os.rename(filename, os.path.join('A1', filename))
for filename in a2_files:
os.rename(filename, os.path.join('A2', filename))
答案 1 :(得分:0)
vc_map(
array(
'name' => __('Student Clubs Grid', 'text-domain'),
'base' => 'vc_student_clubs_grid',
'description' => __('Student Clubs Grid', 'text-domain'),
'category' => __('Custom Shortcode', 'text-domain'),
'icon' => get_template_directory_uri().'/assets/img/vc-icon.png',
"params" => array(
array(
'type' => 'dropdown',
'heading' => __( 'Gallery start at:', "my-text-domain" ),
'param_name' => 'columns',
'value' => array(
__( 'None', "my-text-domain" ) => '',
__( '2 Column', "my-text-domain" ) => 'two_column',
__( '3 Column', "my-text-domain" ) => 'three_column',
)
),
array(
"type" => "param_group",
"heading" => __( "Homepage Slider", "my-text-domain" ),
"param_name" => "slider_attr",
"params" => array(
array(
'type' => 'attach_image',
'heading' => __( 'Upload Picture', 'pt-vc' ),
'param_name' => 'upload_slider_picture',
),
array(
'type' => 'checkbox',
'heading' => __( 'Add Thumbnail Navigation', 'pt-vc' ),
'param_name' => 'is_thumb_naved',
'dependency' => array(
'element' => 'columns',
'value' => 'two_column',
)
),
)
);
)
)
);
答案 2 :(得分:0)
使用os.listdir
从文件夹中获取所有文件,并使用os.rename
移动文件。
import os
def file_reader():
# get files
for files in os.listdir("/path/to/your/files"):
if files.endswith(".txt"):
try:
os.mkdir("A1")
os.mkdir("A2")
except FileExistsError:
pass
if files.startswith("A1"):
os.rename(files, os.path.join("A1", files))
if files.startswith("A2"):
os.rename(files, os.path.join("A2", files))
if __name__ == "__main__":
file_reader()
答案 3 :(得分:0)
这是我前一段时间用来实现类似效果的经过调整的脚本:
from os import getcwd
from os import listdir
from os import makedirs
from os.path import join
from os.path import exists
from os.path import abspath
from shutil import move
current_path = getcwd()
for file in listdir("."):
if file.startswith("A"):
full_path = abspath(file)
folder_prefix = file[:2]
folder_path = join(current_path, folder_prefix)
if not exists(folder_path):
makedirs(folder_path)
move(full_path, folder_path)
它将复制当前目录中所有以A
开头的文件,并将它们移到各自的文件夹中。如果不存在,它也会预先制作文件夹。您可以通过添加自己的路径来调整自己的喜好,但这显示了总体思路。