import glob
import os
musics=set()
def retrieve_musics(path):
files = glob.glob(path + '/**/*.mp3', recursive=True)
for file in files:
if file.find("@eaDir") == -1:
tokens = file.split("/")
fname = tokens[len(tokens)-1]
if fname in musics:
print ("{} in the set already".format(fname))
os.remove(file)
else:
musics.add(fname)
print ("add {} into set".format(fname))
os.rename(file, "/nas/music/抖音类歌曲/{}".format(fname))
filename="__INVALID_MUSICS.txt"
def loadInvalidMusicsFromFile(path):
if not os.path.exists(path):
open(path, 'a').close()
return set(line.strip() for line in open(path))
def findInvalidMusics(path):
invalidfilepath = os.path.join(path, filename)
invalidmusics = loadInvalidMusicsFromFile(invalidfilepath)
files = glob.glob(path + '/**/*.mp3', recursive=True)
for file in files:
if file.find("@eaDir") == -1:
tokens = file.split("/")
fname = tokens[len(tokens)-1]
sz = os.path.getsize(file)
if sz == 181521 and fname not in invalidmusics:
with open(invalidfilepath, 'a') as the_file:
the_file.write("{}\n".format(fname))
invalidmusics.add(fname)
print("file found: {} is invalid and add it into the list".format(file))
os.remove(file)
findInvalidMusics("/nas/music/kuwo")