如何创建从raw_input创建的字典/列表/类

时间:2014-05-02 19:31:28

标签: python list class dictionary vm-implementation

我是python的新手,我正在尝试创建一个非常基本的虚拟机,能够制作和阅读"文本文件" (格式化字符串)。

现在,将会有一个允许用户创建文件的命令。该文件存储为一个类,但我不确定如何做这样的事情 -

def filecreate(filename,contents):
    filename = contents
filecreate(str(raw_input("File Name: ")), insertcontenthere)

尝试在idle / pycharm中执行类似的操作时,你不能这样做,因为它因为文件名未定义而对你大喊大叫。

我已经研究了构造函数,但我感到很茫然。答案很明显,我没有看到,但我找不到。

(它可能已被回答,但由于措辞,我无法准确地搜索它。)

1 个答案:

答案 0 :(得分:1)

您必须以某种方式创建文件系统。如果我可以提出一些建议:

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)

将此全部实施到FileSystem可能并不是一个坏主意,因此您将调用fs.filecreate(raw_input(), content)。此外,您永远不需要在str上调用raw_input - 它将始终返回一个字符串。