您好我是python的新手并经历了一些教程,我的代码没有给出任何错误但是它失败了,问题的完整列表位于底部
这是我的第一个.py文件,它是rehber.py
import crehber
print("ASIM's Contact List")
print("To create a Table press 1")
print("To write into database press 2")
choice = int(input("Your Choice: "))
def checkInput(choice):
if choice == 1:
print("Your Choice is ", choice)
crehber.tablecreate()
return True
elif choice == 2:
print("Your Choice is ", choice)
name = str(input("Enter name: "))
surname = str(input("Enter surname: "))
number = int(input("Enter number: "))
crehber.tableInsert(name,surname,number)
return True
else:
print("Invalid choice, please re-enter")
while checkInput(choice) != True:
choice = int(input("Your Choice: "))
这是另一个.py文件,它是crehber.py
import sqlite3 as db
def tablecreate():
conn = db.connect('rehber.db')
cursor = conn.cursor()
cursor.execute('create table bilgiler(name text,sname text, num text)')
print("Table is created")
def tableInsert(name,surname,number):
conn = db.connect('rehber.db')
cursor = conn.cursor()
cursor.execute('insert into bilgiler(name,sname,num) values(?,?,?)', (name,surname,number))
print("Insert is Successful")
conn.close()
其他信息:
1-)sqlite在c:\ sqlite中 2-)我创建了一个目录c:\ pythonb来玩,这是我的.py文件
问题列表&问题:
1-当在sqlite目录中并输入sqlite3 rehber.db时,会在那里创建文件。 然后当我运行程序并调用
时tableCreate() function
rehber.db出现在pythonb目录中,这是正常的吗?
2-当我进行一些输入并获得"插入成功"信息 我转到sqlite目录并输入sqlite3 rehber.db 然后选择*来自bilgiler; 但什么都没有出现..你认为哪个是错的?
3-我有时会错过分号;在select命令之后我被卡在sqlite shell中,如何在不关闭commandprompt的情况下退出?
感谢您节省阅读时间,感谢任何帮助
答案 0 :(得分:1)
1-当在sqlite目录中并输入sqlite3 rehber.db时,会在那里创建文件。然后当我运行程序并调用
tableCreate()
函数rehber.db出现在pythonb目录中时,这是正常的吗?
我不知道“正常”,但是当你只是在任何程序中指定一个没有任何路径名的文件时 - 你会在当前工作目录中得到一个文件。因此,如果您打开DOS提示符cd c:\sqlite
然后运行sqlite3 rehber.db
,则会创建文件c:\sqlite\rehber.db
,因为c:\sqlite
是您当前的工作目录。如果您打开DOS提示符cd c:\pythonb
和rehber.py
,则会创建一个文件c:\pythonb\rehber.db
,因为c:\pythonb
是您当前的工作目录。
2-当我进行一些输入并获得“插入成功”消息时,我转到sqlite目录并输入sqlite3 rehber.db然后从bilgiler中选择*;但什么都没有出现..你认为哪个是错的?
好吧,一个程序(你的脚本)在一个文件上运行,另一个程序(sqlite3
)在一个完全不同的文件上运行。没有任何东西出现的原因与你装满汽车油箱时没有任何东西出现在我汽车的油箱中。
3-我有时会错过分号;在select命令之后我被卡在sqlite shell中,如何在不关闭commandprompt的情况下退出?
您只需在延续提示行(...>
)上输入分号即可完成最后一个命令。