每当我运行时,我都会使用IDLE编写python程序
python3 [myfilename]
在我的终端中,它不会输出应该从我进行的SQL查询中输出的内容。
我尝试查看问题是否出在这两行上:
c = db.cursor()
c.execute("select content time from posts order by time desc")
并猜测可能
db.cursor() = c
db.cursor(execute("select * from posts))
posts = db.fetchall()
print(add_post());
实际上会添加一些东西,但是我没有输出!基本上,我希望它能打印出数据库中的任何内容。
def get_posts():
db = psycopg2.connect(database="forum")
c = db.cursor()
c.execute("select content, time from posts order by time desc")
posts = c.fetchall()
db.close()
get_posts()
print(get_posts)
我希望我的输出可以在终端中打印任何数据,但是运行文件实际上并不会打印任何内容。请帮忙!
编辑:我在IDLE中的新错误是“服务器是否在本地运行并接受 Unix域套接字上的连接” 有人可以帮我吗?
答案 0 :(得分:1)
您需要从get_posts
函数返回一些信息。在您打印函数 对象 get_posts
时,其外观类似于<function get_post at 0x7f42d60bcf28>
您应该看起来像这样:
def get_posts():
db = psycopg2.connect(database="forum")
c = db.cursor()
c.execute("""select content, time from posts order by time desc""")
posts = c.fetchall()
db.close()
# Return a value
return posts
# Call the function and assign the return value to a variable
the_posts = get_posts()
# Print the variable
print(the_posts)