1

我的 html 由名字、姓氏、年龄和性别组成。我正在从中取出值并希望将这些值写入文件中。但是我收到 IOError: Bad file descriptor 的错误。

在我的 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
4

1 回答 1

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()
于 2013-10-25T07:06:23.050 回答