名称错误:未定义名称“fhost”

2024-09-28 03:16:52 发布

您现在位置:Python中文网/ 问答频道 /正文

我需要将CSV表转换为Dokuwiki语法,但我需要帮助,因为我总是会遇到相同的错误

我经常遇到的错误是:

Traceback (most recent call last):
      File "/etc/serverliste/csvtodokuwiki2.py", line 21, in <module>
        fhost.write(title[ii] + ": " + arr[ii] + "\n")
    NameError: name 'fhost' is not defined

这是我的密码:

#!/usr/bin/python

f = open("/etc/serverliste/server.csv", "r")

title = []
i = 0
for line in f:
    arr = line.split(";")
    if i == 0:
        title = arr
    else:
        fhost = open("/var/www/html/dokuwiki/data/pages/playground/" + arr[0], "w")
        fhost.write("<h1>" + arr[0] + "</h1><p>&nbsp;</p><p><span style=font-size:12pt>Anmerkung: Diese Seite wurde automatisch generiert und wird t&auml;glich aktualisiert. Eine manuelle &Auml;nderung dieser Seite wird hierdurch wieder r&uuml;ckg&auml;ngig gemacht.</span></p>")

    ii = 0

    for item in arr:
        if ii > (len(title) - 1):
            break

        fhost.write(title[ii] + ": " + arr[ii] + "\n")

        ii = ii + 1
    i = i + 1

Tags: inforiftitle错误lineetcopen
1条回答
网友
1楼 · 发布于 2024-09-28 03:16:52

只有else部分有fhost。如果条件变为if,它将跳过

演示:

#!/usr/bin/python

f = open("/etc/serverliste/server.csv", "r")
title = []
i = 0
for line in f:
    arr = line.split(";")
    fhost = open("/var/www/html/dokuwiki/data/pages/playground/" + arr[0], "w")     #Declare if before `if-else` condition
    if i == 0:
        title = arr
    else:
        fhost.write("<h1>" + arr[0] + "</h1><p>&nbsp;</p><p><span style=font-size:12pt>Anmerkung: Diese Seite wurde automatisch generiert und wird t&auml;glich aktualisiert. Eine manuelle &Auml;nderung dieser Seite wird hierdurch wieder r&uuml;ckg&auml;ngig gemacht.</span></p>")

    ii = 0
    for item in arr:
        if ii > (len(title) - 1):
            break
        fhost.write(title[ii] + ": " + arr[ii] + "\n")
        ii = ii + 1
    i = i + 1

相关问题 更多 >

    热门问题