我觉得布莱克正在做一些不符合(与我的组织)的事情,所以我试图忽略某些规则。
下面的示例和相关链接
PEP 8: whitespace before ':'
我的组织(编码标准)并不优先考虑黑人认为正确的事情,而是想要一种定制黑人配置的方法。
我没有在 Black 文档中看到任何提及忽略规则的内容https://github.com/psf/black#command-line-options。
他们给出了忽略 Flake8 规则的示例,但似乎没有任何关于他们自己产品的文档。
我正在用*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 黑色代码重新格式化程序,但在我的公司中,他们决定在 python 代码中使用制表符而不是空格。所以我尝试更改黑色配置,但我没有看到任何使用制表符的选项,唯一可以影响的是行长度。
黑色是否与 PEP8 标准紧密相连以至于永远不允许制表符?
我正在尝试一个部署脚本,该脚本需要导入 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) 我有一个Docker compose
带有后端和前端组件的基础系统。后端是Python Flask
用几个 docker 容器编写并运行的,前端是TypeScript
用Angular
. 前端通过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 …
我在 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) 我在 Mac 上使用 tkinter。但是当我使用以下简单代码时,计算机将重新启动。
import tkinter as tk
window = tk.Tk()
Run Code Online (Sandbox Code Playgroud)
问题是什么?谢谢!
当我运行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)
什么ravi
文件是:
RAVI文件是由热成像软件(例如Micro-Epsilon TIM Connect或Optris PIX Connect)创建的视频文件。它包含由热像仪捕获的视频,并以类似于音频视频交错(.AVI)格式的格式保存。RAVI文件还存储辐射度信息,例如由热像仪收集的温度和测量区域信息。
我的问题:
我必须处理ravi
文件中的数据。我需要像素的温度值(或者帧的最高温度足以满足我的需要)。我想检查特定框架上的最高温度。最终结果将是一个报告,其中包含框架上的最高温度值(这将是图形)。使用Micro-Epsilon TIM Connect
或Optris PIX Connect
工具很容易检查和处理,但是我无法使用它们(我必须编写自己的工具)。
我的问题:
ravi
文件中获取数据(实际上我只需要温度值)?ravi
文件转换为另一个文件(如果我可以从ravi
文件中获取数据,这无关紧要)?注意:
ravi
文件,但无法记录新文件或修改记录。SDK
此类相机的站点,但对我来说不清楚ravi
是否可以从文件中获取数据。链接到libirimager2
文档:libirimager2ravi
使用媒体播放器播放文件,则说明使用的编解码器为:(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 项目,它启动大约 8-10 个进程。这些进程有不同的唯一名称,并且这些名称在代码中运行良好。但是,如果我检查终端中正在运行的进程,这些进程没有唯一的名称。他们的名字与其父母的名字相同(实际上是命令行本身)。
使用环境:
最少的代码:
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 ×9
python-3.x ×3
docker ×2
macos ×2
python-black ×2
angular ×1
arguments ×1
boto3 ×1
datetime ×1
importerror ×1
keycloak ×1
keyerror ×1
linux ×1
nginx ×1
opencv ×1
ravi ×1
tensorflow ×1
terminal ×1
tkinter ×1
typescript ×1
video ×1