Как мне записать html-данные в файл на python, ошибка «IOError: [Errno 9] Bad file descriptor» [duplicate]

0

Мой html состоит из имени, имени, возраста и пола. Я извлекаю значения из него и хочу записать их в файле. Однако я получаю сообщение об ошибке IOError: Bad file.

На моей странице html, при отправке клика я вызываю этот test.py, который должен записывать данные в имя файла "copy.txt",

Мой тестовый код:

#!/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
  • 0
    Вы должны использовать f = open("copy.txt","w")
  • 0
    @GamesBrainiac: не удается найти решение по вышеуказанной ссылке
Показать ещё 1 комментарий
Теги:
cgi

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()
  • 0
    Я не могу использовать ключевое слово «с». его зарезервировано в Python 2.6
  • 0
    Также обновлена ошибка трассировки
Показать ещё 2 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню