0

如何让用户在我的 python 程序中编写将使用打开的“w”传输到文件中的文本?

我只知道如何使用 print 将文本写入单独的文档。但是,如果我想将输入写入文件,该怎么做呢?简而言之:让用户自己将文本写入单独的文档。

到目前为止,这是我的代码:

def main():

    print ("This program let you create your own HTML-page")

    name = input("Enter the name for your HTML-page (end it with .html): ")

    outfile = open(name, "w")

    code = input ("Enter your code here: ")

    print ("This is the only thing getting written into the file", file=outfile)

main ()
4

2 回答 2

2

首先,使用 raw_input 而不是 input。通过这种方式,您可以将文本捕获为字符串,而不是尝试对其进行评估。但要回答你的问题:

with open(name, 'w') as o:
    o.write(code)

如果您希望他们在键入 html 文件时能够按 Enter 键,您还可以将该代码包含在一个不断重复的循环中,直到用户点击某个键。

编辑:允许连续用户输入的循环示例:

with open(name, 'w') as o:
    code = input("blah")
    while (code != "exit")
        o.write('{0}\n'.format(code))
        code = input("blah")

这样,循环将继续运行,直到用户输入“exit”或您选择的任何字符串。格式行在文件中插入换行符。我还在 python2 上,所以我不完全确定输入如何处理换行符,但如果它包含它,请随意删除格式行并像上面一样使用它。

于 2013-10-23T20:25:57.990 回答
0
def main():

    print ("This program let you create your own HTML-page")

    name = input("Enter the name for your HTML-page (end it with .html): ")

    outfile = open(name),'w')

    code = input ("Enter your code here: ")

    outfile.write(code)

main ()

这不接受多行代码条目。为此,您将需要一个额外的模块。

于 2013-10-23T20:32:22.107 回答