python中的For循环帮助

2024-06-16 12:44:56 发布

您现在位置:Python中文网/ 问答频道 /正文

需要你帮忙吗

我正在尝试将列表newtrack(文件夹中的歌曲名称)与电子表格中的列表filezto和相册进行匹配。 如果文件夹中的歌曲名称匹配列表文件ZTO并具有Nasb的唱片集,则将其复制到文件夹列表(ORDFLDTOSRT),如果不是Nasb唱片集,则将歌曲复制到列表(NTSUFFLDRS)

由于某些原因,在运行时,if语句不会同步它们,以便打印它们是否匹配并将文件复制到文件夹中。我尝试了不同的选择,但无法使其工作。提前谢谢

albm = ["NASB", "NASB", "NASB", "NASB", "NTSB", "NTSB", "NTSB", "NTSB"]

newtracks = [
    "Track1.mp3",
    "Track2.mp3",
    "Track3.mp3",
    "Track4.mp3",
    "Track5.mp3",
    "Track5.mp3",
]

filezto = [
    "Track1.mp3",
    "Track2.mp3",
    "Track3.mp3",
    "Track4.mp3",
    "Track5.mp3",
    "Track5.mp3",
]

ordfldrtosrt = ["1-GEN-GENE", "2 - EXO - Exos", "3 - LEV - Lev", "4 - NUM - Numb"]

ntsubfldrs = ["1-MAT-Matt", "2 - MRK - Mar", "3 - LUK - LI", "4 - JHN - Jo"]

for album in albm:
    for newtracks, filezto, ordfldrtosrt, ntsubfldrs in (
        (ntk, ft, otm, nts)
        for ntk in newtracks
        for ft in filezto
        for otm in ordfldrtosrt
        for nts in ntsubfldrs
    ):
        if album == "Nasb" and newtracks == filezto:

            print("Yes", newtracks, " files to", filezto)

            # shutil.copy('C:\\Users\\mrdrj\\Desktop\\SJ\\NASB\\'+newtracks,  'D:\\Desktop\\pythonProject\\Nasb\\'+ ordfldrtosrt+'\\'+newtracks)
        else:
            print("No", newtracks, " files to", filezto)
            # shutil.copy('C:\\Users\\mrdrj\\Desktop\\SJ\\NASB\\'+newtracks,  'D:\\Desktop\\pythonProject\\Nasb\\'+ ntsubfldrs +'\\'+newtracks)



Tags: in文件夹列表formp3desktop歌曲名称track5
1条回答
网友
1楼 · 发布于 2024-06-16 12:44:56

从您上次的评论中,我猜您有一个来自spreadsheet的(专辑、曲目)列表,您正试图将其与folder中一个专辑的曲目列表相匹配:

folder = [
    "Track1.mp3",
    "Track2.mp3",
    "Track3.mp3",
    "Track4.mp3",
    "Track5.mp3",
    "Track5.mp3",
]
spreadsheet = [
    ( "NASB", "Track1.mp3" ),
    ( "NASB", "Track2.mp3" ),
    ( "NASB", "Track3.mp3" ),
    ( "NASB", "Track4.mp3" ),
    ( "NASB", "Track5.mp3" ),
    ( "NASB", "Track5.mp3" ),
    ( "NTSB", "Track1.mp3" ),
    ( "NTSB", "Track2.mp3" ),
    ( "NTSB", "Track3.mp3" ),
    ( "NTSB", "Track4.mp3" ),
    ( "NTSB", "Track5.mp3" ),
    ( "NTSB", "Track5.mp3" )
]
for album, track in spreadsheet:
    if album == 'NASB' and track in folder:
        print('%s %s' % ('Yes', track))
    else:
        print('%s %s' % ('No', track))

with将为您提供以下输出:

Yes Track1.mp3
Yes Track2.mp3
Yes Track3.mp3
Yes Track4.mp3
Yes Track5.mp3
Yes Track5.mp3
No Track1.mp3
No Track2.mp3
No Track3.mp3
No Track4.mp3
No Track5.mp3
No Track5.mp3

相关问题 更多 >