python - 以编程方式在python中移动文件
问题描述
我试图简单地将文件从文件夹移动path1
到文件夹path
。
import os
import shutil
path1 = '/home/user/Downloads'
file_dir = os.listdir(path1)
fpath = '/home/user/music'
for file in file_dir:
if file.endswith('.mp3'):
shutil.move(os.path.join(file_dir,file), os.path.join(fpath, file))
...但我收到此错误
TypeError: expected str, bytes or os.PathLike object, not list
解决方案
首先,你不应该使用file
作为变量名,它是 python 的内置,考虑使用f
。
另请注意,在该shutil.move
行中,我已将您更改(os.path.join(file_dir,f)
为(os.path.join(path1,f)
. file_dir
是一个列表,而不是您要查找的目录的名称,该值存储在您的path1
变量中。
总而言之,它看起来像这样:
import os
import shutil
path1 = '/home/user/Downloads'
file_dir = os.listdir(path1)
fpath = '/home/user/music'
for f in file_dir:
if f.endswith('.mp3'):
shutil.move(os.path.join(path1,f), os.path.join(fpath, f))
推荐阅读
- sparql - Sparql two-nested-opt dawg 测试查询结果难以理解
- php - 如何getElementsByTagName,其中元素是body标签的子元素
- typescript - 打字稿通用方法
- javascript - 如何使用 Vue.js 实现这一点?
- python - 如何使用 Azure 存储帐户 SAS 令牌列出所有 Blob?
- r - 计算 R 中列的动态范围的平均值
- html - 如何使网格容器缩小以适应内容?
- reactjs - 如何识别 React JS 中的嵌套路由?
- marklogic - Marklogic 内容泵没有可用的服务器问题
- django - 我应该在我的 Django/React webapp 中的哪里进行 python-twitter API 调用