我一直在互联网上阅读,以很好地解释 OPC-UA 中的节点。似乎有一些库可以用于它,但实际上没有一个解释节点。OPC-UA 中节点的用途是什么?
注意:此处为 OPC 和 OPC-UA 菜鸟
我正在以这种方式使用 Python 日志记录:
logger = logging.getLogger("my_logger")
logger.info("Some text.")
Run Code Online (Sandbox Code Playgroud)
我有一堆物联网设备都在运行(制作日志)。他们将日志数据流式传输到数据库。为了区分来源,我需要包括来源 IP 地址。
有没有办法使用日志记录获取主机名?是否在 LogRecords 中跟踪/跟踪 IP 地址或主机名?
一般来说,将主机名添加到 LogRecord 的最佳方法是什么?
我在一个单独的文件中有一个函数,在另一个文件中有一个单元测试,我的目标是获取该函数的实际返回值并对其进行编辑。
my_module.py
def function_to_test(a,b,c)(arg1,arg2,arg3):
data_to_send = Mongoclient.find({_id:'arg1'})
return data_to_send
def another_function():
"""Do something."""
value_to_be_used = function_to_test(a,b,c)
another_function_call_in_another_module(value_to_be_used)
Run Code Online (Sandbox Code Playgroud)
test_file.py
class Mytest(unittest.TestCase):
def test_one(self):
# return_value is based on the original return value,
# and should vary based on the original returned value
with patch(my_module.function_to_test, return_value='new data'):
my_module.another_function()
Run Code Online (Sandbox Code Playgroud)
新数据是原始数据+对原始数据的一些编辑。
我该如何实现这一目标?
我一直在阅读有关typing.Sequence和 的内容typing.MutableSequence。两者都没有大量的“轻松阅读”,一切都直接进入细节。
序列是列表的只读版本
MutableSequence所以这让我想知道,和 只是普通之间有什么区别List?
更多细节
我能找到的最好的来源是Python 数据模型的标准类型层次结构部分。
从阅读该部分来看Mutable sequences,似乎可能MutableSequence是 ? 的“父母” List?
换句话说,可以互换使用它们,只是MutableSequence限制少一点?
我有一个int指向另一个地址的指针int。
当使用格式说明符打印指针时%p(如 Stack Overflow 上的许多答案所建议的那样),它以十六进制表示形式打印。
如何用十进制表示打印指针的值?
代码示例
我想出了一个可以%zu从这个答案中使用的人。
int i = 1;
int *p = &i;
printf("Printing p: %%p = %p, %%zu = %zu\n", p, p);
Run Code Online (Sandbox Code Playgroud)
当我使用https://onlinegdb.com/EBienCIJnm运行该代码时
warning: format ‘%zu’ expects argument of type ‘size_t’, but argument 3 has type ‘int *’ [-Wformat=]
Printing p: %p = 0x7ffee623d8c4, %zu = 140732759529668
Run Code Online (Sandbox Code Playgroud)
有没有办法printf使用十进制表示的指针值,而没有编译器警告?
我的以下功能foo,其中有:
from typing import Callable
def foo(bar: str, *args, **kwargs) -> None:
"""Some function with one positional arg and then *args and **kwargs."""
foo_: Callable[[str, ...], None] = foo # error: Unexpected '...'
Run Code Online (Sandbox Code Playgroud)
我如何输入提示?
目前,mypy==0.812抛出错误:error: Unexpected '...' [misc]
我试图在 Windows 操作系统和 macOS 上使用 Python 3.10+ 获取精确到微秒的时间戳。
\n在 Windows 操作系统上,我注意到 Python 的内置time.time()(与 配对datetime.fromtimestamp())并且datetime.datetime.now()时钟似乎较慢。它们没有足够的分辨率来区分微秒级事件。好消息是和time之类的函数似乎确实使用了足够快的时钟来测量微秒级事件。time.perf_counter()time.time_ns()
可悲的是,我不知道如何将它们放入datetime对象中。如何将 PEP 564 的纳秒分辨率时间函数的输出time.perf_counter()转换为对象datetime?
注意:我不需要纳秒级的东西,所以可以放弃低于 1-\xce\xbcs 的精度。
\n目前的解决方案
\n这是我当前的(hacky)解决方案,实际上工作正常,但我想知道是否有更干净的方法:
\nimport time\nfrom datetime import datetime, timedelta\nfrom typing import Final\n\nIMPORT_TIMESTAMP: Final[datetime] = datetime.now()\nINITIAL_PERF_COUNTER: Final[float] = time.perf_counter()\n\n\ndef get_timestamp() -> datetime:\n """Get a high resolution timestamp with \xce\xbcs-level precision."""\n dt_sec = time.perf_counter() - …Run Code Online (Sandbox Code Playgroud) 我想知道,Python 文件中的标准位置是__all__什么?
我的假设直接在导入语句下方。但是,我在任何地方都找不到明确说明/询问的内容。那么,一般来说,应该放__all__哪里呢?
它会放在下面的示例文件中的什么位置?
#!/usr/bin/env python3
"""Where to put __all__."""
from time import time
# I think it should go here: __all__ = ["Hello", "Hello2"]
SOME_GLOBAL = 0.0
class Hello:
def __init__(self):
pass
class Hello2:
def __init__(self):
pass
if __name__ == "__main__":
pass
Run Code Online (Sandbox Code Playgroud)
先感谢您!
我是 C 语言的新手,正在尝试查看头文件的源代码errno.h。
我怎样才能:
我试过的
根据这个答案,gcc --print-file-name=errno.h在我的$HOME目录中运行只会输出errno.h.
从这个答案,运行cpp -dM /usr/include/errno.h | grep 'define E' | sort -n -k 3输出:
clang: error: no such file or directory: '/usr/include/errno.h'
clang: error: no input files
Run Code Online (Sandbox Code Playgroud)
从这个答案,运行clang -E /usr/include/errno.h输出:
clang: error: no such file or directory: '/usr/include/errno.h'
clang: error: no input files
Run Code Online (Sandbox Code Playgroud)
我知道有效的一种解决方案是 running sudo find / -name "errno*.h" -type f。但是,这会返回许多结果。我想知道是否有某种编程方式可以使用 …
我正在使用AWS CLI v2如下方式查看分段上传:
aws s3api list-multipart-uploads --bucket my-bucket-name
Run Code Online (Sandbox Code Playgroud)
该Uploads响应的密钥具有Initiated密钥。从list-multipart-uploads文档:
启动分段上传的日期和时间。
对我来说(我位于太平洋时区 (PT)),它看起来像这样:
"Initiated": "2020-06-02T02:20:49+00:00"
Run Code Online (Sandbox Code Playgroud)
这个时间戳的时区是什么?
背景
我位于太平洋时区 (PT)。
启动上传的区域以及我运行list-multipart-uploads命令的位置us-west-2(请参阅区域、可用区和本地区域)。
对我来说,它的起始格式是:(yyyy-mm-dd'T'HH:mm:ss基于这些)
该时间戳是否应该预先转换为太平洋时间,还是以 UTC 格式给出?
python ×6
c ×2
type-hinting ×2
amazon-s3 ×1
aws-cli ×1
datetime ×1
errno ×1
flake8 ×1
flask ×1
header-files ×1
list ×1
logging ×1
macos ×1
mocking ×1
mongodb ×1
mypy ×1
node-opcua ×1
opc-ua ×1
pep8 ×1
pointers ×1
printf ×1
readability ×1
sequence ×1
time ×1
timestamp ×1
timezone ×1
typing ×1
unit-testing ×1