#!/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。
对此或其他代码的任何帮助都将不胜感激。
答案 0 :(得分:1)
您应该将if条件更改为
if selection == 1:
作为int的 selection
应该与int值进行比较。
函数csvreader()
也应返回一些内容。
答案 1 :(得分:1)
由于您要将整数与字符串进行比较,因此未调用您的函数。 替换你的
if selection == '1':
与
if selection == 1: