小编Kev*_*ayo的帖子

macOS tkinter:askopenfilename 的文件类型如何工作

我的问题

  1. 不能filetypesFilter(见下图)之间切换,因为它们处于灰色模式,如果设置filetypes如下
filetypes = [ 
            ("Python File", "*.py"), 
            ("Image File", "*.bmp"),
            ("All Files", "*.*")
            ]
Run Code Online (Sandbox Code Playgroud)
  1. 虽然默认文件类型是.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)

python macos file-type tkinter python-3.x

8
推荐指数
1
解决办法
1385
查看次数

在 PyTorch 中提取 CNN 的中间层输出

我正在使用一个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)

python python-3.x deep-learning pytorch torchvision

7
推荐指数
1
解决办法
1万
查看次数

如何在 Github 中仅使用 python-requests 获取最新发布版本?

最近,我制作了一个应用程序并将其上传到我的 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 找不到最新版本。

html python git github python-requests

4
推荐指数
1
解决办法
1802
查看次数

根据键列表从字典中获取值

我有一个清单。

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 python-3.x

2
推荐指数
1
解决办法
53
查看次数