输入到单独的文件(让用户在写入文件时在python程序中写入文本)

时间:2013-10-23 20:00:08

标签: python file input output file-io

如何让用户在我的python程序中编写文本,使用open“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 ()

2 个答案:

答案 0 :(得分: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上,所以我不完全确定输入如何处理换行符,但如果它包含它,请随意删除格式行并按上述方式使用它。

答案 1 :(得分: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 ()

这不接受多行代码条目。你需要一个额外的模块。