简体   繁体   English

有没有办法在for循环python中分配对象

[英]Is there a way to assign object in a for loop python

我有一个名为 MediaFiles 的类,我从用户那里获取了一个路径,我从中获取了完整路径、文件名和文件扩展名,我想要做的是存储这些中的每一个

It sounds like you should use a list of MediaFile objects.听起来您应该使用MediaFile对象列表。 First you need to create the list:首先,您需要创建列表:

media_files = []

Then you append elements to the list in your for loop:然后将元素附加到 for 循环中的列表:

media_files.append(MediaFile(name, filepath, extention))

You can create a list and then store your objects there:您可以创建一个列表,然后将您的对象存储在那里:

Below is the code:下面是代码:

#Define class in file named MediaFile.py
class MediaFile:

def __init__(self, file_name, file_path, file_type, file_comment=None, categorys=None, playlists=None):
        self.file_name = file_name
        self.file_path = file_path
        self.file_type = file_type
        self.file_comment = file_comment
        self.categorys = categorys
        self.playlists = playlists
    # New file which contains actual code:
    from MediaFile import MediaFile
    import os.path

    filenames = []
    filepaths = []
    fileextentions = []
    # empty list to store objects
    media_list=[]

    d = input('Enter a path to organise: ')
    for path in os.listdir(d):
        full_path = os.path.join(d, path)
        i=0
        if os.path.isfile(full_path):
            filepath = full_path
            name = os.path.splitext(os.path.basename(full_path))[0]
            extention = os.path.splitext(full_path)[1]
            i+=1
            # append the objects to a list
            media_list.append(MediaFile(name, filepath, extention))

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM