中有JavaScript
一个构造foo?.bar
,当访问一个对象的不存在的字段时,它返回null
。类似的东西在 中是否存在Python
?
RoyalGoose's questions
我有一个Outlook
规则,就是寄来的信要Рассылка
放进去Папка1
。
此外Рассылка
,还会收到包含正文的信件Слово
。
我希望Слово
仅将信件正文包含的信件放入Папка2
并写下相应的规则。结果,这些字母都落在了我身上Папка1
(Папка2
也就是说,由于这两个规则并行工作,它们被重复了)
你怎么能写一个规则,让这些字母只放在Папка2
在第一个数据帧中,我有值\u200b\u200b,间隔为每分钟一次
DateTime1 Value1
2021-01-15 17:19:00 73.681
2021-01-15 17:20:00 73.694
2021-01-15 17:21:00 73.704
2021-01-15 17:22:00 73.708
秒,值位于不同的时间,精度高达一秒
DateTime2 Value2
2021-01-15 17:20:11 73.6768
2021-01-15 17:20:16 73.6767
2021-01-15 17:20:58 73.6700
2021-01-15 17:21:01 73.6584
2021-01-15 17:21:08 73.6614
我想按日期叠加它们,以便在最终数据框中同时存在Value1
和Value2
按类型:
DateTime Value1 Value2
2021-01-15 17:19:00 73.681 NaN
2021-01-15 17:20:00 73.694 NaN
2021-01-15 17:20:11 NaN 73.6768
2021-01-15 17:20:16 NaN 73.6767
2021-01-15 17:20:58 NaN 73.6700
2021-01-15 17:21:00 73.704 NaN
2021-01-15 17:21:01 NaN 73.6584
2021-01-15 17:21:08 NaN 73.6614
2021-01-15 17:22:00 73.708 NaN
我试过.join
and .merge
,但他们要么排除了第一个不包含在第二个中的值,要么将第二个数据帧的值添加到第一个的末尾,我希望它们相互重叠
如何实现对 ping 请求的异步发送响应,使它们不依赖于发送主请求?
从使用此 websocket 的文档中:
在下面的代码中,我尝试从控制台输入,这样当我在控制台中输入“LG”时,它就会发送身份验证请求,但服务器不允许。因为 input
阻塞操作员,我错过了 ping 请求,因此无法响应它们。我如何独立于我自己对服务器的请求并行响应它们?
import websockets
import asyncio
import json
async def main():
url = 'wss://***'
async with websockets.connect(url) as ws:
while True:
command_counter += 1
recv = await ws.recv()
response = json.loads(recv)
print(f'{command_counter} RECV: {response}')
if response['Type'] == 1:
msg = response['Msg']
data = {
"Type": 2,
"Msg": msg
}
print(f"{command_counter} SEND: {data}")
await ws.send(json.dumps(data))
command = input('>>> ')
if command == 'LG':
data = {
"RequestId": 2,
"OriginalRequestId": 2,
"RequestType": "LoginRequest",
"Message": {
"UserName": "***",
"Password": "***"
}
}
print(f"{command_counter} SEND: {data}")
await ws.send(json.dumps(data))
asyncio.get_event_loop().run_until_complete(main())
安装它总是得到同样的错误Docker
。Windows Server 2019
可能是什么问题呢?
3.1.0
Docker Desktop 3.1.0
Installation failed
Component CommunityInstaller.ServiceAction failed: Failed to start service: Служба не ответила на запрос своевременно
в CommunityInstaller.InstallWorkflow.<DoHandleD4WPackageAsync>d__29.MoveNext()
--- Конец трассировка стека из предыдущего расположения, где возникло исключение ---
в System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
в System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
в CommunityInstaller.InstallWorkflow.<DoProcessAsync>d__23.MoveNext()
我试图根据git 上这个线程的建议解决问题,但它对我没有帮助
我收到了创建 Web 应用程序的订单(在俄罗斯联邦),其中一项技术任务是下载网站用户护照的扫描件。之前没遇到过个人资料的处理,请问需要遵守哪些手续,有必要吗?我的意思是诸如确认个人数据处理或某些特殊处理和加密协议之类的手续。您是否需要以某种方式或某个地方对此进行解释?
告诉我如何将csv
一行输出到包含 numbers 的文件float
,但不是用点而是用分号?我看到了可以写的东西
import locale
locale.setlocale(locale.LC_NUMERIC, 'rus')
但没有帮助
我需要显示数据
1,99; 2,33
我明白了
"1,99"; "2,33" или 1.99; 2.33
正如我想做的那样:发送一个动作,然后在它结束时发送一个文件。但事实证明,这个动作持续了 5 秒,然后又需要 5 秒来发送文件,而用户这一次不明白,是 bot 被冻结还是文件仍在发送中。如何在直接发送文件之前增加动作时间?
import telebot
...
def send_file(m: Message, file):
bot.send_chat_action(m.chat.id, action='upload_document')
bot.send_document(m.chat.id, file)
Python中的队列任务
他们在研究所设置了一个实验室,用于用python编写队列,解决了问题,将其上传到平台(ejudge),但是在第13次测试它给出了错误“程序时间超过> 3秒”,我无法理解问题是什么。这是条件:
队列问题 仅使用数组实现队列。数据的输入和输出是通过文件进行的。输入和输出文件的名称通过命令行参数(分别为第一个和第二个)指定。输入数据格式 输入文件指定命令序列。空行被忽略。第一行始终包含“set_size N”,其中 N 是最大队列大小,一个整数。随后的每一行只包含一个命令:push X、pop 或 print,其中 X 是没有空格的任意字符串。结果格式 print 命令将队列的内容(从头到尾)打印在一行上,用空格分隔。如果队列为空,则显示“empty”。如果队列溢出,则显示“溢出”。pop 命令输出一个元素或“下溢” 如果队列为空。调用“set_size”命令时,队列的内存必须分配不超过一次。在任何不清楚的情况下,任何命令的结果都将是“错误”。
import sys
class Queue:
def __init__(self, size):
self.queue = []
self.size = size
def push(self, value):
if len(self.queue) < self.size:
return self.queue.append(value)
else:
return 'overflow'
def pop(self):
if self.queue:
first = self.queue[0]
del self.queue[0]
return first
else:
return 'underflow'
def print(self):
global text
if len(self.queue) > 0:
for i, element in enumerate(self.queue):
if i + 1 < len(self.queue):
text += element + ' '
else:
text += element
else:
text += 'empty'
text += '\n'
return
names = []
if __name__ == "__main__":
for args in sys.argv[1:]:
names.append(args)
in_file = names[0]
out_file = names[1]
f = open(in_file)
defined = False
text = ''
for i in f:
com = i.strip('\n')
if com.split(' ')[0] == 'set_size' and not defined:
size = int(com.split(' ')[1])
q = Queue(size)
defined = True
elif com == 'pop' and defined:
text += q.pop() + '\n'
elif com.split(' ')[0] == 'push' and len(com.split(' ')) == 2 and defined:
value = com.split(' ')[1]
pt = q.push(value)
if pt is not None:
text += pt + '\n'
elif com == 'print' and defined:
q.print()
elif com == '':
continue
else:
text += 'error\n'
f.close()
f = open(out_file, 'w')
f.write(text)
f.close()
为了清楚起见,我向这个 git 上传了两个文件,“input”是测试平台作为输入提交的文件,“output”是任务的正确答案。我的程序被强行停止(由于超时)并且没有返回任何东西 https://github.com/RoyalGoose/testrepos
可能是什么问题呢?如何修复代码以使其运行更快并通过此测试?