将文件移动到 Python 中相应的子目录
Moving files to corresponding subdirectory in Python
每周工作,我负责手动将100-200个文件从一个文件夹移动到相应的子文件夹中。这样做了几个星期后,我心想:这可以做得更快!
我在学校用过 Python 2.7 和 3.X,但主要是使用(非常)基本的搜索引擎和文本搜索。
我找到了另一个帖子,有人告诉我要使用 os.rename 或 shutil.move。我用 os.rename:
做了一个简单的测试
os.rename("path/to/current/file.foo", "path/to/new/desination/for/file.foo")
而且效果很好,到目前为止一切顺利。
有什么办法可以python运行遍历一个文件夹中的每一个文件,然后移动到另一个文件夹中相应的子目录中吗?原文目录包含所有文件,而目标目录包含所有文件夹。
每个文件(A_file、B_file 等)都与文件夹(A_folder、B_folder 等)同名,这意味着它们是顺序正确。
这让我觉得一个简单的迭代可以工作,如(更多的是算法而不是代码):
for file in original_dir
move file to folder_x in tar_dir
x += 1
显然这还不完整,但也许有人可以指出正确的方向。
这使目录递归。
os.makedirs(path)
因此,您将路径传递到您想要的目录。例如/path/to/
您将跟进副本。
def move_file(new_path_to_file, file_to_move):
file_name = file_to_move.split(os.path.sep)[-1]
os.makedirs(new_path_to_file)
os.rename(file_to_move, os.path.join(new_path_to_file, file_name))
您也可以通过传入文件名来简化操作。
每周工作,我负责手动将100-200个文件从一个文件夹移动到相应的子文件夹中。这样做了几个星期后,我心想:这可以做得更快!
我在学校用过 Python 2.7 和 3.X,但主要是使用(非常)基本的搜索引擎和文本搜索。
我找到了另一个帖子,有人告诉我要使用 os.rename 或 shutil.move。我用 os.rename:
做了一个简单的测试os.rename("path/to/current/file.foo", "path/to/new/desination/for/file.foo")
而且效果很好,到目前为止一切顺利。
有什么办法可以python运行遍历一个文件夹中的每一个文件,然后移动到另一个文件夹中相应的子目录中吗?原文目录包含所有文件,而目标目录包含所有文件夹。
每个文件(A_file、B_file 等)都与文件夹(A_folder、B_folder 等)同名,这意味着它们是顺序正确。
这让我觉得一个简单的迭代可以工作,如(更多的是算法而不是代码):
for file in original_dir
move file to folder_x in tar_dir
x += 1
显然这还不完整,但也许有人可以指出正确的方向。
这使目录递归。
os.makedirs(path)
因此,您将路径传递到您想要的目录。例如/path/to/ 您将跟进副本。
def move_file(new_path_to_file, file_to_move):
file_name = file_to_move.split(os.path.sep)[-1]
os.makedirs(new_path_to_file)
os.rename(file_to_move, os.path.join(new_path_to_file, file_name))
您也可以通过传入文件名来简化操作。