Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/314.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
有没有办法在for-python循环中分配对象_Python_Class_Object - Fatal编程技术网

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

有没有办法在for-python循环中分配对象,python,class,object,Python,Class,Object,我有一个名为MediaFiles的类,我从用户那里得到了一个路径,从中我得到了完整的路径、文件名和文件扩展名,我试图做的是存储这些对象中的每一个,听起来你应该使用一个MediaFile对象列表。首先,您需要创建列表: media_files = [] 然后将元素附加到for循环的列表中: media_files.append(MediaFile(name, filepath, extention)) 您可以创建一个列表,然后将对象存储在其中: 代码如下: #Define class in f

我有一个名为MediaFiles的类,我从用户那里得到了一个路径,从中我得到了完整的路径、文件名和文件扩展名,我试图做的是存储这些对象中的每一个,听起来你应该使用一个MediaFile对象列表。首先,您需要创建列表:

media_files = []
然后将元素附加到for循环的列表中:

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

您可以创建一个列表,然后将对象存储在其中:

代码如下:

#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

这个文件的格式正确吗?目前,这种安排毫无意义。此外,您将对象视为一个列表/目录,但它不是。错误消息包括失败的行。如果您发布整个消息,那么我们可以看到哪一行有问题,而无需猜测。Python帮了你。。。向前付!您在许多事情上使用单一名称:
类MediaFile:
-您的类,
从MediaFile导入MediaFile
-一些其他模块和该模块中包含的类,
MediaFile[i]=MediaFile(名称、文件路径、扩展名)
包含列表的变量。这些文件都应该有不同的名称,这样您就不会用另一个文件覆盖它们。@tdelaney可能,
class MediaFile
位于名为
MediaFile.py
的文件中,
import
位于同级文件中。@gold\cy我认为OP的代码有两个不同的源文件。第二个问题从
import
行开始。这个答案没有多大意义,因为在定义类时,如何在类内部导入它?
    # 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))