Python 如何创建从原始输入创建的字典/列表/类

Python 如何创建从原始输入创建的字典/列表/类,python,list,class,dictionary,vm-implementation,Python,List,Class,Dictionary,Vm Implementation,我对python非常陌生,我正在尝试创建一个非常基本的VM,它能够生成和读取“文本文件”(格式化字符串) 现在,将有一个命令允许用户创建一个文件。该文件存储为类,但我不确定如何执行类似操作- def filecreate(filename,contents): filename = contents filecreate(str(raw_input("File Name: ")), insertcontenthere) 在idle/pycharm中尝试这样做时,您不能这样做,因为它会因

我对python非常陌生,我正在尝试创建一个非常基本的VM,它能够生成和读取“文本文件”(格式化字符串)

现在,将有一个命令允许用户创建一个文件。该文件存储为类,但我不确定如何执行类似操作-

def filecreate(filename,contents):
    filename = contents
filecreate(str(raw_input("File Name: ")), insertcontenthere)
在idle/pycharm中尝试这样做时,您不能这样做,因为它会因为文件名未定义而对您大喊大叫

我已经研究了构造函数,但是我不知道该怎么做。答案很可能是显而易见的,我没有看到,但我找不到


(可能已经回答了,但由于措辞的原因,我无法准确地搜索。)

您必须以某种方式创建一个文件系统。请允许我提出一些建议:

class FileSystem(dict):
    # I'm not really sure what you need a file system
    # to do specifically. Probably things like
    # FileSystem.listdir but this is kind of beyond the
    # scope of this question

fs = FileSystem()

def filecreate(filename,contents):
    global fs
    fs[filename] = contents

filecreate(str(raw_input("File Name: ")), insertcontenthere)

文件系统中实现这一切可能不是一个坏主意,因此您将调用
fs.filecreate(raw\u input(),content)
。此外,您不需要在
原始输入上调用
str
——它将始终返回一个字符串。

也许您应该用英语解释您希望该代码实际执行的操作。用户输入一个命令,通过原始输入生成文件,然后程序使用file类生成一个新对象。他需要一个文件系统,仅此而已。他试图获取文件名的用户输入,然后将文件内容作为变量分配给该文件名。他可以这样做,但需要一个文件系统作为字典来存储。亚当·斯密做对了。基本上就是这样。事实上,这比为每一个文件创建一个新的文件类更“省电”更快,对吗?我会让filecreate成为文件系统的一个实例方法。@dano我刚才在编辑它!不先设计文件系统就编写文件系统,这可不是我的强项!:)@user3348394我绝对建议创建一个包含相关信息的
类文件。将
文件
实例存储在
文件系统
中的适当位置,并将其称为good。