无法调用功能。 (不是错误)

时间:2016-03-10 10:40:59

标签: python python-2.7

#!/usr/bin/python
# -*- coding: u8 -*-
import csv

def csvreader():
    f = open('tb.csv', "rU")
    reader = csv.reader(f)
    rownum = 0
    for row in reader:
        if rownum == 0:
            header = row
        else:
            colnum = 0
                for col in row:
                print '%-9s : %s' % (header[colnum], col) 
                colnum += 1
        print""
        rownum += 1
    f.close()

print "Welcome to the Libary of Alexandria"
print ""
print "Please select an option by entering the corresponding number from the         following:"
print ""
print "① : Search Database"
print "② : Add Data"
print "⚕ : Πληροφορίες συστήματος"
print ""
selection = (raw_input("Please enter a number:\n"))
while True:
    try:
        selection = int(selection)
        break
    except ValueError:
        selection = (raw_input('\033[31mERROR: Please enter a single digit corresponding to a selection.\033[0m\n'))
if selection == '1':
    search = csvreader()
    print search

您好, 函数csvreader可以自行运行,但是当我尝试通过单独放置函数来调用它,或者将它分配给变量并打印它时,它什么都不打印。屏幕输出

Welcome to the Libary of Alexandria

Please select an option by entering the corresponding number from the following:

① : Search Database
② : Add Data
⚕ : Πληροφορίες συστήματος

Please enter a number:
1

然后什么都没有。

我在python 2.7.5上使用netbeans。

对此或其他代码的任何帮助都将不胜感激。

2 个答案:

答案 0 :(得分:1)

您应该将if条件更改为

if selection == 1:
作为int的

selection应该与int值进行比较。

函数csvreader()也应返回一些内容。

答案 1 :(得分:1)

由于您要将整数与字符串进行比较,因此未调用您的函数。 替换你的

if selection == '1':

if selection == 1: