如何在python中将html数据写入文件,错误是“IOError:[Errno 9]错误的文件描述符”

时间:2013-10-25 07:01:02

标签: python html cgi

我的HTML包含名字,姓氏,年龄和性别。我从中获取值并希望将这些值写入文件中。但是我收到IOError错误:错误的文件描述符。

在我的html页面上,在提交时单击我调用此test.py,它应该将数据写入文件名“copy.txt”

我的test.py代码:

#!/usr/bin/python
import cgi

print "Content- type : text/html\n"
form = cgi.FieldStorage()

Fname = form.getvalue('firstname')
Lname = form.getvalue('lastname')
Age = form.getvalue('age')
Gender = form.getvalue('gender')

f = open("copy","w")
for data in f:
    f.write("Fname")
    f.write("Lname")
    f.write("age")
    f.write("gender")
f.close()

错误:

Traceback (most recent call last):
  File "test.py", line 16, in <module>
    for data in f:
IOError: [Errno 9] Bad file descriptor

1 个答案:

答案 0 :(得分:0)

尝试以下方法,很难说出问题是什么,因为你没有提供追溯:

import cgi

print "Content- type : text/html\n"
form = cgi.FieldStorage()

Fname = form.getvalue('firstname')
Lname = form.getvalue('lastname')
Age = form.getvalue('age')
Gender = form.getvalue('gender')

with open('copy.txt', 'w') as f:
    for data in f:
        f.write("Fname")
        f.write("Lname")
        f.write("age")
        f.write("gender")

如果您无法使用with关键字,那么您将不得不正常关闭它:

f = open('copy.txt', 'w')
for data in f:
    f.write("Fname")
    f.write("Lname")
    f.write("age")
    f.write("gender")
f.close()