我正在尝试使用 Python 库创建一个动态模型pydantic。我的输入数据是常规的dict. 但是,(读取:其键)的内容dict可能会有所不同。
我想知道如何动态创建pydantic依赖于 的dict内容的模型?
我创建了一个带有两个不同dicts (inputs1和inputs2) 的玩具示例。我们假设嵌套dict调用strategy可能不同。基于strategy/name我事先知道哪些字段将存在于strategy. 我需要pydantic基于创建模型strategy/name。
from pydantic import BaseModel
inputs1 = {
"universe": {"name": "test_universe", "ccy": "USD"},
"price_src": "csv",
"strategy": {"name": "test_strat1"},
}
inputs2 = {
"universe": {"name": "test_universe", "ccy": "USD"},
"price_src": "csv",
"strategy": {"name": "test_strat2", "periods": 10},
}
class Universe(BaseModel):
name: str
ccy: str = "EUR" …Run Code Online (Sandbox Code Playgroud) 如何将私有 GitHub 存储库定义为文件project部分中的依赖项pyproject.toml?
[project]
dependencies = [
"my_repo_name>=<SSH-address_to_my_private_github_repo>"
]
Run Code Online (Sandbox Code Playgroud) 当尝试使用SQLAlchemy v1.4.15 中的方法NotImplementedError: This method is not implemented for SQLAlchemy 2.0.删除表时,我收到一个, 。delete
from sqlalchemy import Column, Integer, MetaData, String, Table, create_engine, delete
engine = create_engine("sqlite+pysqlite:///:memory:", echo=True, future=True)
metadata = MetaData()
user = Table(
"users", metadata, Column("id", Integer, primary_key=True), Column("name", String)
)
metadata.create_all(engine)
engine.execute(user.delete()) # leading to Traceback
# NotImplementedError: This method is not implemented for SQLAlchemy 2.0.
Run Code Online (Sandbox Code Playgroud) 使用portainer,我创建了一个macvlan 配置网络。现在,我想删除这个网络。但是,由于某种原因,我不能。我确实收到以下错误消息:Error response from daemon: error while removing network: configuration network "my_macvlan_config" is in use。奇怪的是,我不认为网络正在使用中。没有容器连接到它。检查网络时,我得到以下结果:
~$ sudo docker network inspect my_macvlan_config
[
{
"Name": "my_macvlan_config",
"Id": "5d95270684516484632c4505e15ba8253bbe8d780b2c41a84a07fbbe09d7a9b6",
"Created": "2020-05-18T20:59:03.472260896+02:00",
"Scope": "local",
"Driver": "null",
"EnableIPv6": false,
"IPAM": {
"Driver": "default",
"Options": null,
"Config": [
{
"Subnet": "192.168.13.0/24",
"IPRange": "192.168.13.200/29",
"Gateway": "192.168.13.1"
}
]
},
"Internal": false,
"Attachable": false,
"Ingress": false,
"ConfigFrom": {
"Network": ""
},
"ConfigOnly": true,
"Containers": {},
"Options": {
"parent": "eth0"
},
"Labels": {}
}
]
Run Code Online (Sandbox Code Playgroud)
Docker …
我想通过使用来限制可能的输入参数typing.Literal。
下面的代码工作得很好,但是mypy有抱怨。
from typing import Literal
def literal_func(string_input: Literal["best", "worst"]) -> int:
if string_input == "best":
return 1
elif string_input == "worst":
return 0
literal_func(string_input="best") # works just fine with mypy
# The following call leads to an error with mypy:
# error: Argument "string_input" to "literal_func" has incompatible type "str";
# expected "Literal['best', 'worst']" [arg-type]
input_string = "best"
literal_func(string_input=input_string)
Run Code Online (Sandbox Code Playgroud) vec = randi(10,10,1)
vec(vec < 5) = 0
func = @(x) x(x < 5) = 0 % This isn't valid
Run Code Online (Sandbox Code Playgroud)
我该如何将第二行代码转换为可以与之结合使用的函数句柄cellfun?
matlab anonymous-function function-handle cell-array elementwise-operations
Pycharm (v2022.2) 抱怨 的usecols输入参数pd.read_excel。它需要一个单一的int值。另一方面,文档明确指出 alist-like or callable是允许的。
我以前曾经使用过类似的东西,代码实际上按预期工作:
pd.read_excel("test.xlsx", usecols="A:C") # Pycharm: Expected type 'int', got 'str' instead
Run Code Online (Sandbox Code Playgroud)
另外,不能使用listof int:
pd.read_excel("test.xlsx", usecols=[1, 2, 3]) # Pycharm: Expected type 'int', got 'list[int]' instead
Run Code Online (Sandbox Code Playgroud)
这是 Pycharm 的错误还是我做错了什么?
想象一个由相同结构(在布局方面)组成的单元阵列,如下例cellArray所示.我如何申请cellfun这些结构的特定领域?
cellArray{1,1}.val1 = 10;
cellArray{1,1}.val2 = 20;
cellArray{1,2}.val1 = 1000;
cellArray{1,2}.val2 = 2000;
Run Code Online (Sandbox Code Playgroud)
如何使用cellfun将值50添加到所有单元格,但仅添加到字段val2?
out = cellfun(@plus, cellArray?????, {50, 50}, 'UniformOutput', false);
Run Code Online (Sandbox Code Playgroud) 我应该如何访问,比方说,字符串数组的每个成员的第一个字符?例如,我想将每个单词的第一个字母大写.
str = ["house", "stone", "summer"]
Run Code Online (Sandbox Code Playgroud) 我想使用 mypy 进行类型检查。函数的一个输入参数接受单个int或一个List[int].
x: Union[int, List[int]]但是,10如果输入参数是单个,我可以使用来设置默认值的正确语法是int什么?
x: Union[int = 10, List[int]] 不管用。
python ×6
matlab ×3
cell-array ×2
mypy ×2
docker ×1
literals ×1
macvlan ×1
pandas ×1
pycharm ×1
pydantic ×1
sqlalchemy ×1
string ×1
struct ×1
typechecking ×1