gpt4 book ai didi

python - 如何通过在python中打开该文件夹中的其他文件来打开文件夹循环

转载 作者:太空宇宙 更新时间:2023-11-04 05:03:07 26 4
gpt4 key购买 nike

当前的问题是建立在 this 的基础上的问题。

我正在尝试创建一个 python 脚本,它将循环遍历指定文件夹中的所有文本文件。文本文件包含将移动到不同指定文件夹的文件的目录。当循环遍历文本文件时,它会从该文本文件的每一行的文件目录中获取文件。

最终目标是将文本文件中引用的所有文件移动到一个指定的文件夹 (\1855)。

import shutil
dst = r"C:/Users/Aydan/Desktop/1855"

with open(r'C:\Users\Aydan\Desktop\RTHPython\Years') as my_folder:
for filename in my_folder:
text_file_name = filename.strip()
with open (text_file_name) as my_file:
for filename in my_file:
file_name = filename.strip()
src = r'C:\Users\Aydan\Desktop' + file_name
shutil.move(src, dst)

一个文本文件 (1855.txt) 包含:

/data01/BL/ER/D11/fmp000005578/BL_ER_D11_fmp000005578_0001_1.txt
/data01/BL/ER/D11/fmp000005578/BL_ER_D11_fmp000005578_0002_1.txt
/data01/BL/ER/D11/fmp000005578/BL_ER_D11_fmp000005578_0003_1.txt

另一个文本文件 (1856.txt) 包含:

/data01/BL/ER/D11/fmp000005578/BL_ER_D11_fmp000005578_0004_1.txt
/data01/BL/ER/D11/fmp000005578/BL_ER_D11_fmp000005578_0005_1.txt
/data01/BL/ER/D11/fmp000005578/BL_ER_D11_fmp000005578_0006_1.txt

这是我在运行上述脚本时遇到的错误:

Traceback (most recent call last):
File "<pyshell#11>", line 1, in <module>
with open(r'C:\Users\Aydan\Desktop\RTHPython\Years') as my_folder:
PermissionError: [Errno 13] Permission denied: 'C:\\Users\\Aydan\\Desktop\\RTHPython\\Years'

这个脚本似乎没有将此处命名的文件移动到 C:/Users/Aydan/Desktop/1855 目的地,即使在脚本中我试图遵循相同的逻辑遍历每个项目文本文件,但将该逻辑应用于文件夹而不是内部文本文件。

找到解决方案的任何帮助都很棒!如果您需要有关这些文件的更多信息,请询问。

谢谢!

艾丹。

最佳答案

由于您无法使用 open 方法打开整个文件夹,因此您可以像这样循环浏览该文件夹中的每个 .txt 文件:

import shutil
import glob
dst = r"C:/Users/Aydan/Desktop/1855"

for filename in glob.glob(r"C:\Users\Aydan\Desktop\RTHPython\Years\*.txt"):
text_file_name = filename.strip()
with open (text_file_name) as my_file:
for filename in my_file:
file_name = filename.strip()
src = r'C:\Users\Aydan\Desktop' + file_name
shutil.move(src, dst)

关于python - 如何通过在python中打开该文件夹中的其他文件来打开文件夹循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45216970/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com