我有一个名为的模块imtools.py,包含以下功能:
import os
def get_imlist(path):
return[os.path.join(path,f) for f in os.listdir(path) if f.endswith('.jpg')]
Run Code Online (Sandbox Code Playgroud)
当我尝试get_imlist使用import imtools和从控制台调用该函数时imtools.get_imlist(path),我收到以下错误:
Traceback (most recent call last):
File "<input>", line 1, in <module>
File "C:\...\PycharmProjects\first\imtools.py", line 5, in get_imlist
NameError: name 'os' is not defined
Run Code Online (Sandbox Code Playgroud)
我是Python的新手,我必须在这里找不到简单的东西,但无法弄清楚这一点.如果我在控制台定义功能,它工作正常.此模块脚本的具体历史记录如下:最初它是在没有import os语句的情况下编写的,然后在看到上面的错误后,import os语句被添加到脚本中并重新保存.在保存之前和之后,使用相同的控制台会话来运行脚本.
这一定是我缺少的一些简单的东西,但我似乎无法弄清楚如何使用该selection_set方法在 Treeview 中设置选择行。我对TTK文件有时指的是迷茫items和其他时间iid的方法参数。当我在 中插入一行Treeview时,我不是在创建一个我提供句柄的项目iid吗?
import Tkinter as Tk
import ttk
root = Tk.Tk()
tree = ttk.Treeview(root, displaycolumns='#all')
tree["columns"]=("1", "2", "3", "4")
tree.column("#0", width=70)
tree.column("1", width=70, anchor=Tk.CENTER)
tree.column("2", width=50, anchor=Tk.CENTER)
tree.column("3", width=50, anchor=Tk.CENTER)
tree.column("4", width=70, anchor=Tk.CENTER)
tree.heading("1", text="Column 1")
tree.heading("2", text="Column 2")
tree.heading("3", text="Column 3")
tree.heading("4", text="Column 4")
id2 = []
count = 0
item_list = ['A', 'B', 'C', 'D']
for item in item_list:
id = tree.insert("", count, iid='Row %s'%count, text=item, …Run Code Online (Sandbox Code Playgroud) 我看到的文档tkMessageBox似乎表明用户在askyesnocancel对话框中选择的布尔值返回。有 3 个选项,那么布尔值如何正确捕获用户的选择呢?
我尝试过下面显示的方法,其中“是”返回“True”,“否”返回“False”,“取消”返回“取消”,但这似乎不起作用。“否”或“取消”选择似乎都返回为“False”。有人对此有什么想法吗?
if tkMessageBox.askyesnocancel("Error", "Choose yes, no or cancel", default='yes')
...
...
...
elif "cancel":
return
else:
pass
Run Code Online (Sandbox Code Playgroud)