小编que*_*o42的帖子

使用 json.load() 加载 json 文件时如何修复错误“JSONDecodeError: Expecting value: ...”?

我正在尝试在 Jupyter Notebook 中加载 json 文件

import numpy as np
import pandas as pd
import seaborn as sns
import matplotlib as plt
import json
%matplotlib inline

with open("pud.json") as datafile:
  data = json.load(datafile)
dataframe = pd.DataFrame(data)
Run Code Online (Sandbox Code Playgroud)

我收到以下错误

JSONDecodeError: Expecting value: line 1 column 1 (char 0)
Run Code Online (Sandbox Code Playgroud)

请帮忙

python json

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

稀有对象的 python 类型注释,例如 psycopg2 对象

我了解内置类型。但是我如何指定稀有对象,例如数据库连接对象?

def get_connection_and_cursor() -> tuple[psycopg2.extensions.cursor, psycopg2.extensions.connection]:
    connection = psycopg2.connect(dbname=db_name, user=db_user, password=db_password, host='127.0.0.1', port="5432")
    # connection.autocommit = True
    cursor = connection.cursor()
    return connection, cursor
Run Code Online (Sandbox Code Playgroud)

检查类型,以下是输出:

  • type(cursor)psycopg2.extensions.cursor
  • type(connection)psycopg2.extensions.connection: 。

我应该用它做什么?

python types annotations python-typing

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

有没有办法清理mercurial缓存

目前该.hgcache文件夹占用了我 30GB 的磁盘空间。我使用的是只有 256GB 磁盘的 MAC 书,而 Xcode 经常耗尽所有磁盘,只是想知道是否有任何方法可以从文件夹中释放一些磁盘空间.hgcache

mercurial caching

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

在 Python 中从多个“.env”文件读取环境变量

我需要从两个不同的文件中获取环境变量,以便将 user+pw 保留在 git 存储库之外。我从另一个位置下载敏感的用户+密码并将其添加到 .gitignore。

我在用

from os import getenv
from dotenv import load_dotenv
    
    ...
    load_dotenv()
    DB_HOST=getenv('DB_HOST') # from env file 1
    DB_NAME=getenv('DB_NAME') # from env file 1
    DB_USER=getenv('DB_USER') # from env file 2
    DB_PASS=getenv('DB_PASS') # from env file 2
Run Code Online (Sandbox Code Playgroud)

我在 python 脚本的文件夹中有两个“.env”文件。

env_file.env 包含:

DB_HOST=xyz
DB_NAME=abc
Run Code Online (Sandbox Code Playgroud)

env_file_in_gitignore.env 需要远离 git 存储库,但可以通过使用 sh 脚本下载:

DB_USER=me
DB_PASS=eao
Run Code Online (Sandbox Code Playgroud)

如何避免错误:

TypeError: connect() argument 2 must be str, not None
connect() argument 2 must be str, not None
Run Code Online (Sandbox Code Playgroud)

由于这两个文件之一未用于 .env 导入,因此会引发哪个?

如何从两个不同的“.env”文件获取环境变量,这两个文件都存储在工作目录中?

python git environment-variables

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

Google Cloud 功能超时设置不起作用

即使超时设置为 540 秒,我也无法让 Google Cloud Function 运行超过 60 秒!有什么建议么?

我将部署时的超时标志设置为 --timeout=540,并且我知道该设置会通过,因为 540 秒超时设置出现在 GCP WEB UI 中。我还尝试通过 GCP WEB UI 手动将超时编辑为 540。但无论如何,我仍然在大约 62000 毫秒后收到 DEADLINE_EXCEEDED 消息。

我已经尝试了 pub/sub 和 https 方法作为 func 触发器,但仍然在约 60 秒处出现过早的函数超时。

我正在运行最新的 CLI,具有这些功能设置:

  • 触发器:http/pubsub(都测试过,结果相同)
  • 可用内存Mb:2048
  • 运行时:nodejs6
  • 状态:活跃
  • 超时时间:540秒

感谢您的任何意见!

马库斯兄弟

timeout google-cloud-platform gcloud google-cloud-functions google-cloud-firestore

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

无法使用基于日志的指标显示数据(指标类型:“计数器”)

我\xe2\x80\x99m 正在努力创建一个带有基于日志指标的 stackdriver 监控的图表。我的指标是一个计数器,默认情况下没有单位。
\n日志可用于我的基于日志的指标,但当我使用我的指标创建图表时,它会显示no data is available for the...
\nHere\xe2\x80\x99s 我的指标确实有效(称为 isOperatorAllowed):

\n\n
resource.type="container"\nresource.labels.namespace_id="default"\njsonPayload.message="CaseForOperator flags"\nlogName="projects/PROJECT-ID/logs/app"\njsonPayload.caseForOperatorFlags.isOperatorAllowed=true\n
Run Code Online (Sandbox Code Playgroud)\n\n

这里\xe2\x80\x99s 我的图表的 JSON 配置

\n\n
{\n  "dataSets": [\n    {\n      "timeSeriesFilter": {\n        "filter": "metric.type=\\"logging.googleapis.com/user/IsOperatorAllowed\\" resource.type=\\"gke_container\\"",\n        "perSeriesAligner": "ALIGN_RATE",\n        "crossSeriesReducer": "REDUCE_NONE",\n        "secondaryCrossSeriesReducer": "REDUCE_NONE",\n        "minAlignmentPeriod": "60s",\n        "groupByFields": [],\n        "unitOverride": "1"\n      },\n      "targetAxis": "Y1",\n      "plotType": "LINE"\n    }\n  ],\n  "options": {\n    "mode": "COLOR"\n  },\n  "constantLines": [],\n  "timeshiftDuration": "0s",\n  "y1Axis": {\n    "label": "y1Axis",\n    "scale": "LINEAR"\n  }\n}\n
Run Code Online (Sandbox Code Playgroud)\n\n

有人知道我\xe2\x80\x99m 做错了什么吗?

\n

charts logging monitoring google-cloud-platform google-cloud-stackdriver

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

Python项目在Docker内部找不到模块

我正在尝试使用以下 Dockerfile 在 docker 内运行 python 项目以进行机器学习:

FROM python:3

RUN apt-get update \
    && apt-get install -yq --no-install-recommends \
    python3 \
    python3-pip
RUN pip3 install --upgrade pip==9.0.3 \
    && pip3 install setuptools

# for flask web server
EXPOSE 8081

# set working directory
ADD . /app
WORKDIR /app

# install required libraries
COPY requirements.txt ./
RUN pip3 install -r requirements.txt

# This is the runtime command for the container
CMD python3 app.py
Run Code Online (Sandbox Code Playgroud)

这是我的要求文件:

flask
scikit-learn[alldeps]
pandas
textblob
numpy
matplotlib[alldeps]
Run Code Online (Sandbox Code Playgroud)

但是,当我尝试导入 …

python docker

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

socket.gaierror: [Errno -3] 名称解析暂时失败

我正在使用 python requests 库请求具有此类代码的 API:

api_request = requests.get(f"http://data.api.org/search?q=example&ontologies=BFO&roots_only=true",
                             headers={'Authorization': 'apikey token=' + 'be03c61f-2ab8'})

api_result = api_request.json()
collection = api_result["collection"]
...
Run Code Online (Sandbox Code Playgroud)

当我不请求大量内容时,此代码工作正常,但否则我会收到错误。奇怪的是我每次请求很多内容都得不到。错误消息如下:

Traceback (most recent call last):
  File "/home/nobu/.local/lib/python3.6/site-packages/urllib3/connection.py", line 160, in _new_conn
    (self._dns_host, self.port), self.timeout, **extra_kw
  File "/home/nobu/.local/lib/python3.6/site-packages/urllib3/util/connection.py", line 61, in create_connection
    for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM):
  File "/usr/lib/python3.6/socket.py", line 745, in getaddrinfo
    for res in _socket.getaddrinfo(host, port, family, type, proto, flags):
socket.gaierror: [Errno -3] Temporary failure in name resolution

During handling of the above exception, another exception …
Run Code Online (Sandbox Code Playgroud)

python api python-3.x python-requests

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

PyCharm (i)Python 控制台:“在 Python 控制台中执行选择”(=Alt+Shift+E) 过程的“停止当前命令”而不丢失内存中的变量?

我习惯于能够强制停止所选代码的运行。这在 vscode 和 Spyder 中是可能的,并且不会丢失内存中的变量。

来自使用 iPypthon 控制台的 Spyder 的示例:您使用相同的“运行选择或当前行”(在 Spyder 中:F9)进程运行命令,您意识到它需要太长时间并且您想停止它。您只需使用“停止当前命令”(红色方块)即可。

在此输入图像描述

停止后,内存不会丢失,所有在停止时刻已知的变量仍然在内存中。证明:

在此输入图像描述

当你在 Spyder 中继续时,你可以选择直到停止时刻为止已经通过的任何代码行来继续(你也可以选择后面的代码行,但这通常没有意义)。例如,如果您停止一个长时间运行的循环,请更改该循环的代码,然后再次运行它,或者返回 10 行代码从那里开始。

您只需从任何代码行继续执行新的选择即可。

相比之下,在 PyCharm 中,我只找到红色方块“停止控制台”,它完全停止控制台,此后无法执行任何操作,内存中的所有变量都会丢失。

在“Python 控制台”中按红色方块或按 Ctrl+C 后,控制台将关闭。

在此输入图像描述

控制台打印出

Process finished with exit code 0
Run Code Online (Sandbox Code Playgroud)

并且无法再进行任何输入。在此停止之后,也不再有“在 Python 控制台中执行选择”(Shift+Alt+E) 的选项,它会导致:

在此输入图像描述

“Rerun”/“New Console”都重新启动内核,内存中的变量丢失:

在此输入图像描述

使用 iPython 控制台而不是标准 Python 控制台(您可以在 [File>Settings>MyProject>Project Interpreter] 下安装它,请参阅如何将 IPython 控制台添加到 PyCharm),同样的问题:

在此输入图像描述

即使在使用 iPython 的 Spyder 中,这种情况也会发生,“停止”会让我返回 iPython shell,而不会丢失内存中的变量。我猜这个线程Can I stopexecution of current module in ipython without leaves ipython是关于类似的问题,尽管与 PyCharm 没有特别相关。

如何在 PyCharm 中获得类似于 Spyder 的“停止当前命令”选项的停止选项,以便“停止”将变量保留在内存中,并且我可以从停止的地方继续?

请注意,调试模式 …

memory console menu ipython pycharm

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

如何在 Spyder 4 中打开/关闭代码分析功能

将 Spyder 更新到 4.0.0 后,我看不到任何用于打开或关闭“实时代码分析”的复选框

在这里我们可以看到再也找不到的菜单步骤: 如何在Spyder编辑器中抑制某个警告? 其中包含:您需要转到[工具>首选项>编辑器>代码自省/分析并停用名为实时代码分析的 选项 ]

对于 4.1.3 及之前的版本,存在以下问题,可能仅在 Windows 上:

  • 我无法打开警告,例如显示哪些变量未知。通常,如果我将代码移至单独的函数,只需滚动代码中的红线即可找到该函数所需的所有参数。

  • 即使正常的代码完成也不起作用。首先,在点后输入 3 个字母后,没有任何内容弹出。然后,当 Spyder 似乎开始搜索时,它就不再做出反应了。

editor real-time underline spyder anaconda

3
推荐指数
1
解决办法
9435
查看次数