为什么我的代码在复制文件扩展名时不起作用



代码如下

公用文件夹中的文件data.json, data.csv,1.json,2.csv

  • 只需从 .json 扩展名复制到 JSON 文件夹
  • 只需从扩展名复制到.csv CSV 文件夹
import os
mypath = r"C:UsersuserDesktopcommon"
mypathjson = r"C:UsersuserDesktopcommonjson"
mypathcsv = r"C:UsersuserDesktopcommoncsv"
f = []
for (dirpath, dirnames, filenames) in os.walk(mypath):
f.extend(filenames)
break
extension = [i.split(".")[-1] for i in f]
if extension == 'json':
copyfile(mypath,mypathjson)

if extension == 'csv':
copyfile(mypath,mypathcsv)

这应该可以解决问题,根据您的 copyfile 函数(我假设来自 shutil 的函数(,您需要在目标中实际指定文件名。此外,扩展名只是一个扩展名列表,没有附加文件名,这使得它有点无用。

import os
from shutil import copyfile
mypath = r"C:UsersuserDesktopcommon"
mypathjson = r"C:UsersuserDesktopcommonjson"
mypathcsv = r"C:UsersuserDesktopcommoncsv"
f = []
for (_, _, fn) in os.walk(mypath):
f.extend(fn)
break
for each in f:
if each.endswith(".json"):
copyfile(each, os.path.join(mypathjson, each))
elif each.endswith(".csv"):
copyfile(each, os.path.join(mypathcsv, each))

最新更新