filetypes
在Filter
(见下图)之间切换,因为它们处于灰色模式,如果设置filetypes
如下filetypes = [
("Python File", "*.py"),
("Image File", "*.bmp"),
("All Files", "*.*")
]
Run Code Online (Sandbox Code Playgroud)
.py
我们也可以.bmp
在窗口中选择,因为test.bmp
突出显示。这意味着filetypes
、.py
和.bmp
可以同时激活。这种Filter
行为正常吗?我想到的是,我们可以从一组挑选出一个类型filetypes
和这些选项应mutually exclusive
,也就是说,如果选择Python File (.py)
的Filter
,那么只有.py
文件将可在窗口中选择。
from tkinter import *
from tkinter import ttk
from tkinter.filedialog import askopenfilename
# from tkinter.filedialog import askopenfile
# from tkinter.filedialog import askopenfilenames
filetypes = [
("Python File", "*.py"),
("Image …
Run Code Online (Sandbox Code Playgroud) 我正在使用一个Resnet18
模型。
ResNet(
(conv1): Conv2d(3, 64, kernel_size=(7, 7), stride=(2, 2), padding=(3, 3), bias=False)
(bn1): BatchNorm2d(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(relu): ReLU(inplace=True)
(maxpool): MaxPool2d(kernel_size=3, stride=2, padding=1, dilation=1, ceil_mode=False)
(layer1): Sequential(
(0): BasicBlock(
(conv1): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(bn1): BatchNorm2d(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(relu): ReLU(inplace=True)
(conv2): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(bn2): BatchNorm2d(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
)
(1): BasicBlock(
(conv1): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(bn1): …
Run Code Online (Sandbox Code Playgroud) 最近,我制作了一个应用程序并将其上传到我的 GitHub 发布页面。我想制作一个功能来检查更新以获取最新版本(在发布页面中)。
我尝试使用requests
模块来抓取我的发布页面以获取最新版本。这是我的代码的最小示例:
import requests
from lxml import etree
response = requests.get("https://github.com/v2ray/v2ray-core/releases")
html = etree.HTML(response.text)
Version = html.xpath("/html/body/div[4]/div/main/div[3]/div/div[2]/div[1]/div/div[2]/div[1]/div/div/a")
print(Version)
Run Code Online (Sandbox Code Playgroud)
我认为 xpath 是正确的,因为我使用chrome -> copy -> copy xpath
. 但它返回给我一个[]
.it 找不到最新版本。
我有一个清单。
mapper = {"a": 9, "b": 7}
A = ["a", "b"]
Run Code Online (Sandbox Code Playgroud)
我想得到:
result = [9, 7]
Run Code Online (Sandbox Code Playgroud)
我知道有多种方法可以实现这一目标,例如:
result = [mapper[char] for char in A]
result = list(map(lambda x: mapper[x], A))
Run Code Online (Sandbox Code Playgroud)
对于第二种方式,我们可以使用operator
模块而不是使用 lambda 吗?
我找到了一个名为 的方法operator.getitem()
,我尝试使用
result = list(map(operator.getitem(mapper), A))
Run Code Online (Sandbox Code Playgroud)
但这会引发异常。
我知道list(map(lambda x: operator.getitem(mapper, x), A))
会起作用,但我只想避免使用lambda
.
我找到了这个问题,但我没有找到解决方案。
python ×4
python-3.x ×3
file-type ×1
git ×1
github ×1
html ×1
macos ×1
pytorch ×1
tkinter ×1
torchvision ×1