小编mil*_*azs的帖子

黑色(Python)忽略规则

我觉得布莱克正在做一些不符合(与我的组织)的事情,所以我试图忽略某些规则。

下面的示例和相关链接

PEP 8: whitespace before ':'

我的组织(编码标准)并不优先考虑黑人认为正确的事情,而是想要一种定制黑人配置的方法。

我没有在 Black 文档中看到任何提及忽略规则的内容https://github.com/psf/black#command-line-options

他们给出了忽略 Flake8 规则的示例,但似乎没有任何关于他们自己产品的文档。

python python-black

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

为什么我会收到这个意外的关键字参数 TypeError?

我正在用*args和测试一些代码**kwargs,我dictionary**kwargs. 出于某种原因,我得到

def func(*args, **kwargs):
    if args:
        second_test(*args)
    elif kwargs:
        second_test(**kwargs)

def second_test(stringa, integera, floata):
    print("Name: %s, Problems Correct: %d, Points: %f" % (stringa, integera, floata))

profile_1 = ["David", 21, 132.00]
func(*profile_1)

profile_1a = {'Name': 'David', 'Problems Correct': 21, 'Points': 132.00}
func(**profile_1a)
Run Code Online (Sandbox Code Playgroud)

代码开始于line 44并结束于line 57。这是我得到的错误:

TypeError: second_test() got an unexpected keyword argument 'Name'
Run Code Online (Sandbox Code Playgroud)

我在谷歌上搜索了“意外的关键字参数”,但我永远找不到定义;只有其他stackoverflow文章。我的代码有什么问题?

python arguments keyword-argument

11
推荐指数
2
解决办法
4万
查看次数

python黑色格式化程序可以使用制表符代替空格吗?

我想在我的预提交挂钩中使用python 黑色代码重新格式化程序,但在我的公司中,他们决定在 python 代码中使用制表符而不是空格。所以我尝试更改黑色配置,但我没有看到任何使用制表符的选项,唯一可以影响的是行长度。

黑色是否与 PEP8 标准紧密相连以至于永远不允许制表符?

python python-black

10
推荐指数
1
解决办法
3328
查看次数

“导入错误:没有名为 boto3 的模块”在 Mac 上

我正在尝试一个部署脚本,该脚本需要导入 boto3,当我运行该脚本时,它给了我错误消息:

ImportError: No module named boto3
Run Code Online (Sandbox Code Playgroud)

然后我跑了:

pip install boto3
Run Code Online (Sandbox Code Playgroud)

它返回:

Requirement already satisfied: boto3 in /usr/local/lib/python3.7/site-packages (1.9.228)
Requirement already satisfied: jmespath<1.0.0,>=0.7.1 in /Users/xiaoyiliu/Library/Python/3.7/lib/python/site-packages (from boto3) (0.9.4)
Requirement already satisfied: s3transfer<0.3.0,>=0.2.0 in /Users/xiaoyiliu/Library/Python/3.7/lib/python/site-packages (from boto3) (0.2.1)
Requirement already satisfied: botocore<1.13.0,>=1.12.228 in /usr/local/lib/python3.7/site-packages (from boto3) (1.12.228)
Requirement already satisfied: docutils<0.16,>=0.10 in /Users/xiaoyiliu/Library/Python/3.7/lib/python/site-packages (from botocore<1.13.0,>=1.12.228->boto3) (0.14)
Requirement already satisfied: python-dateutil<3.0.0,>=2.1; python_version >= "2.7" in /usr/local/lib/python3.7/site-packages (from botocore<1.13.0,>=1.12.228->boto3) (2.8.0)
Requirement already satisfied: urllib3<1.26,>=1.20; python_version >= "3.4" in /Users/xiaoyiliu/Library/Python/3.7/lib/python/site-packages (from botocore<1.13.0,>=1.12.228->boto3) (1.25.3)
Requirement …
Run Code Online (Sandbox Code Playgroud)

python macos python-import importerror boto3

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

验证来自两个不同 URL 的 Keycloak 令牌

我有一个Docker compose带有后端和前端组件的基础系统。后端是Python Flask用几个 docker 容器编写并运行的,前端是TypeScriptAngular. 前端通过Restful API与后端进行通信。代理是使用创建的Nginx。但Keycloak前端和后端之间不能进行Token验证。

我的KeyCloak(和MySQL)文件部分docker-compose.yml

  mysql:
    image: mysql:5.7.31
    ports:
      - 9988:3306
    volumes:
      - keycloak_data:/var/lib/mysql
    environment:
      MYSQL_ROOT_PASSWORD: root
      MYSQL_DATABASE: keycloak
      MYSQL_USER: keycloak
      MYSQL_PASSWORD: password
    networks:
      - auth_net

  keycloak:
    image: jboss/keycloak:13.0.1
    environment:
      DB_VENDOR: MYSQL
      DB_ADDR: mysql
      DB_DATABASE: keycloak
      DB_USER: keycloak
      DB_PASSWORD: password
      KEYCLOAK_USER: admin
      KEYCLOAK_PASSWORD: admin
      PROXY_ADDRESS_FORWARDING: "true"
    ports:
      - 8080:8080
      - 8443:8443
    depends_on:
      - mysql
    networks:
      - auth_net
Run Code Online (Sandbox Code Playgroud)

相关Nginx …

nginx typescript docker keycloak angular

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

在 Docker 容器中运行 python 脚本错误的时区

我在 Docker 容器 (python:3.6) 中运行一个脚本,它在日志中显示了错误的时间。在 python 控制台(容器内)中使用以下 python 代码时,它给了我正确的时区。

import datetime
datetime.datetime.now()
datetime.datetime(2019, 8, 3, 17, 26, 25, 662809)
Run Code Online (Sandbox Code Playgroud)

此外,在date容器内运行命令时,它会给出正确的时区。

但是,我的脚本中有这个打印语句:

print("Updating....", datetime.datetime.now())
Run Code Online (Sandbox Code Playgroud)

但是,这给了我错误的时区(休息 2 小时)。

在此处输入图片说明

这是我的 docker-compose.yml:

version: '3'
services:
  app:
    container_name: app
    build: .
    restart: unless-stopped
    environment:
      TZ: Europe/Amsterdam
    depends_on:
      - db
  db:
    container_name: db
    image: mariadb
    restart: unless-stopped
    environment:
      MYSQL_ROOT_PASSWORD: x
      MYSQL_DATABASE: x
      MYSQL_USER: x
      MYSQL_PASSWORD: x
      TZ: Europe/Amsterdam
    volumes:
      - /volumes/x/db:/var/lib/mysql
Run Code Online (Sandbox Code Playgroud)

这是我的 crontab 文件(在应用程序容器内运行)

CRON_TZ=Europe/Amsterdam

*/5 * * * * cd /usr/src/app && /usr/local/bin/python3.6 …
Run Code Online (Sandbox Code Playgroud)

python datetime python-3.x docker

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

为什么 tkinter 在 Mac 上失败

我在 Mac 上使用 tkinter。但是当我使用以下简单代码时,计算机将重新启动。

import tkinter as tk
window = tk.Tk()
Run Code Online (Sandbox Code Playgroud)

问题是什么?谢谢!

  • Mac:莫哈韦沙漠,版本 10.14.6
  • tkinter:版本 8.6
  • 蟒蛇:3.7.3

python macos tkinter python-3.x

5
推荐指数
1
解决办法
1694
查看次数

运行flowers_tf_lite.ipynb时如何修复'KeyError:'accuracy''?

当我运行flowers_tf_lite.ipynb脚本时。

链接到flowers_tf_lite.ipynb 脚本

获取KeyError: 'accuracy'错误停止了程序。

我该如何解决此类错误?

acc = history.history['accuracy']

val_acc = history.history['val_accuracy']

loss = history.history['loss']

val_loss = history.history['val_loss']

plt.figure(figsize=(8, 8))

plt.subplot(2, 1, 1)

plt.plot(acc, label='Training Accuracy')

plt.plot(val_acc, label='Validation Accuracy')

plt.legend(loc='lower right')

plt.ylabel('Accuracy')

plt.ylim([min(plt.ylim()),1])

plt.title('Training and Validation Accuracy')


plt.subplot(2, 1, 2)

plt.plot(loss, label='Training Loss')

plt.plot(val_loss, label='Validation Loss')

plt.legend(loc='upper right')

plt.ylabel('Cross Entropy')

plt.ylim([0,1.0])

plt.title('Training and Validation Loss')

plt.xlabel('epoch')

plt.show()
Run Code Online (Sandbox Code Playgroud)

KeyError 的 Img:“准确度”错误

python keyerror tensorflow

5
推荐指数
1
解决办法
8411
查看次数

如何从“ ravi”文件中获取数据?

什么ravi文件是:

RAVI文件是由热成像软件(例如Micro-Epsilon TIM Connect或Optris PIX Connect)创建的视频文件。它包含由热像仪捕获的视频,并以类似于音频视频交错(.AVI)格式的格式保存。RAVI文件还存储辐射度信息,例如由热像仪收集的温度和测量区域信息。

我的问题:

我必须处理ravi文件中的数据。我需要像素的温度值(或者帧的最高温度足以满足我的需要)。我想检查特定框架上的最高温度。最终结果将是一个报告,其中包含框架上的最高温度值(这将是图形)。使用Micro-Epsilon TIM ConnectOptris PIX Connect工具很容易检查和处理,但是我无法使用它们(我必须编写自己的工具)。

我的问题:

  • 如何从ravi文件中获取数据(实际上我只需要温度值)?
  • 是否有任何转换器可以将ravi文件转换为另一个文件(如果我可以从ravi文件中获取数据,这无关紧要)?

注意:

  • 首选Python语言,但我愿意接受所有想法。
  • 我必须使用这些ravi文件,但无法记录新文件或修改记录。
  • 我找到了一个提供SDK此类相机的站点,但对我来说不清楚ravi是否可以从文件中获取数据。链接到libirimager2文档:libirimager2
  • 如果我ravi使用媒体播放器播放文件,则说明使用的编解码器为:(Uncompressed packed YUV 4:2:2您可以在下面看到获取流)

如果我OpenCV用媒体播放器解析它或在其中播放,则可以看到一些信息流。但是我不确定如何获得温度...

CV2代码:

import cv2

cap = cv2.VideoCapture("my_test.ravi")

if not cap.isOpened():
    print("Error opening video stream or file")

while cap.isOpened():
    ret, frame = cap.read()
    if ret:
        cv2.imshow('Frame', frame)
    if cv2.waitKey(25) …
Run Code Online (Sandbox Code Playgroud)

python video opencv image-processing ravi

5
推荐指数
1
解决办法
239
查看次数

进程名称是从 Python 设置的,但从外部不可见

我有一个复杂的多处理 Python 项目,它启动大约 8-10 个进程。这些进程有不同的唯一名称,并且这些名称在代码中运行良好。但是,如果我检查终端中正在运行的进程,这些进程没有唯一的名称。他们的名字与其父母的名字相同(实际上是命令行本身)。

使用环境:

  • Python 3.6.6
  • 红帽 Linux 7
  • xfce4-终端 0.8.7.4

最少的代码:

import multiprocessing
import time


def sleeping_function(s_time):
    multiprocessing.current_process().name = "process_{}".format(s_time)
    print(multiprocessing.current_process().name)
    time.sleep(s_time)


if __name__ == "__main__":
    times = [200, 201, 202, 203, 204]
    with multiprocessing.Pool(processes=len(times)) as pool:
        results = pool.map(sleeping_function, times)
Run Code Online (Sandbox Code Playgroud)

输出:

>>> python3 test.py
process_200
process_201
process_202
process_203
process_204
Run Code Online (Sandbox Code Playgroud)

检查我的终端中正在运行的进程(所有进程都在脚本中运行)。

命令:

ps  aux -u my_user_name | grep python
Run Code Online (Sandbox Code Playgroud)

输出:

my_user_name 888273  0.1  0.0 359804 11288 pts/162  Sl+  15:10   0:00 python3 test.py
my_user_name 888274  0.0  0.0 138608 …
Run Code Online (Sandbox Code Playgroud)

python linux terminal multiprocessing python-3.x

5
推荐指数
1
解决办法
2757
查看次数