小编use*_*216的帖子

无需在每个环境都安装 spyder 即可切换 Spyder 环境

我正在使用多个 conda 环境,并使用 Spyder 作为我的 IDE。这些环境通常具有相同的 python 版本,并且因安装的包(spyder 未使用的包)而异。

我查看了如何在特定环境中运行 spyder,我发现所有答案都表明我首先必须在该环境中安装 spyder,然后运行它。

但是,这当然需要在我的计算机上使用额外的空间。有没有办法在不同的 conda 环境中使用 spyder,而无需多次安装 spyder(或者每个 python 版本可能只安装一次)?

提前致谢!

python spyder conda

6
推荐指数
2
解决办法
1520
查看次数

获取当前(或基本)python 日志配置作为字典

我正在使用 Python 标准日志配置,并结合yaml使用以下dictConfig()功能加载配置文件:

import logging
import yaml
 
with open('logging.yaml','r') as f:
    logConfig = yaml.safe_load(f.read())
logging.config.dictConfig(logConfig)
Run Code Online (Sandbox Code Playgroud)

由于python中的增量日志配置限制了功能,因此每个日志文件都必须包含最少量的信息,如下所示:

version: 1
formatters:
    simple:
        format: "%(asctime)s - %(name)s - %(levelname)s - %(message)s"

handlers:
    console:
        class: logging.StreamHandler
        level: DEBUG
        formatter: simple

loggers:
    my_module:
        level: ERROR

root:
    level: INFO
    handlers: [console] 
Run Code Online (Sandbox Code Playgroud)

这要么迫使人们记住这一点,将其存储在某处,要么每次都查找。由于这些都不适合我,我想找到一种方法来生成它。这让我想到了一个问题:

有没有办法将当前(或基本)日志配置作为字典获取?

通过运行以下代码,这将使创建初始配置文件变得容易,只需删除/编辑您想要的内容:

import logging
import yaml

logConfig = logging.get_current_config_as_a_dictionary()
with open('logging.yaml','w') as f:
    f.write(yaml.dump(logConfig))
Run Code Online (Sandbox Code Playgroud)

Yaml 当然只是我个人的喜好,同样的问题可以针对 JSON 之类的内容发布。

python configuration logging yaml

6
推荐指数
1
解决办法
1717
查看次数

如何显示通过http身份验证保护的图像

如何在没有显示身份验证窗口的情况下从具有标准http保护的服务器显示图像?

我现在使用标准的HTML

<img src="...">
Run Code Online (Sandbox Code Playgroud)

但由于图像受到保护,因此需要验证窗口.我有登录数据,如何显示图像?

问候,汤姆.

html php image http-authentication

5
推荐指数
2
解决办法
7886
查看次数

pandas 根据字典中的值选择行

我正在尝试根据可变数量的列和值从 pandas 数据框中选择行。对于固定的列和值,可以这样做:

df = pd.DataFrame([{'name' : 'ruben','age' : 25},{'name' : 'henk', 'age' : 26},{'name' : 'gijs', 'age' : 20}])

column_name = 'name'
column_value = 'ruben'

rows = df[df[column_name] == column_value]
Run Code Online (Sandbox Code Playgroud)

但是,我想对可变数量的列值对执行此操作,例如从列表中

df = pd.DataFrame([{'name' : 'ruben','age' : 25},{'name' : 'henk', 'age' : 26},{'name' : 'gijs', 'age' : 20}])

column_value_pairs = {'name' : 'ruben','age' : '25'}
rows = df[???]
Run Code Online (Sandbox Code Playgroud)

然后应该返回姓名为 ruben 且年龄为 25 的所有行。基本上是这样的:

rows = df[(df['name'] == 'ruben') & (df['age'] == 25)]
Run Code Online (Sandbox Code Playgroud)

而是使用字典中的列和值。

python pandas

0
推荐指数
1
解决办法
5145
查看次数