python - 试图将包含 str 'meta-analysis' 的文件(.txt 格式)从一个文件夹移动到另一个-python
问题描述
import shutil
os.chdir('D:\Source')
##i for counting number of files
i=0
for file in os.listdir():
# Trying to move the identified file to a different folder
# but thows PermissionError
with open(file,'r',encoding='utf-8')as F:
for line in F:
if 'meta-analysis' in line:
i=i+1
print(i)
print(line)
#attempting to move the relevant file.
shutil.move(file,'D:\Research\dest\\'+file )
else:
pass
错误:
PermissionError: [WinError 32] 该进程无法访问该文件,因为它正被另一个进程使用:
预期行为:
所有文件都移动到 dest 文件夹,并且移动的文件从 Source 中删除
解决方案
shutil
当文件仍然打开时(在with
子句内),您不能移动文件。首先列出要移动的文件,然后移动它们。
推荐阅读
- collision-detection - 检测经历多次变换的两个物体之间的碰撞
- php - 为什么这个 PHP 代码不验证用户输入?
- linux - 使用 grep 命令,我可以打印与我的命令匹配的数据,但是当数据不可用时如何打印错误?
- javascript - 我是否需要本地托管资源中的完整性和跨域属性?
- vb6 - 如何解决在 Windows 10 中使用 Unload Me 崩溃的 VB6 表单?
- python-3.x - 在 Python 中定义要从类中的其他方法调用的 main_menu 函数
- python - 如何在 Spark(Scala 或 Python)中将时间范围扩展到每分钟间隔?
- ansible - 如何在 Ansible Playbook 中循环遍历 Ansible 库存但针对 localhost 运行
- sql - 使用带有数字和字符串的 CASE WHEN 语句执行 JPA/JPQL
- machine-learning - 如何从给定的句子中提取信息