每当有订单事件(订单执行、取消等)时,我需要监听用户数据流,我希望能够监听这些事件并创建通知。
所以我得到了我的“listenKey”,我不确定它是否以正确的方式完成,但我执行了这段代码,它给了我类似listenKey的东西。
获取listenKey的代码:
def get_listen_key_by_REST(binance_api_key):
url = 'https://api.binance.com/api/v1/userDataStream'
response = requests.post(url, headers={'X-MBX-APIKEY': binance_api_key})
json = response.json()
return json['listenKey']
print(get_listen_key_by_REST(API_KEY))
Run Code Online (Sandbox Code Playgroud)
以及监听用户数据流的代码 - 这不起作用,我没有得到 json 响应。
socket = f"wss://fstream-auth.binance.com/ws/btcusdt@markPrice?listenKey=<listenKeyhere>"
def on_message(ws, message):
json_message = json.loads(message)
print(json_message)
def on_close(ws):
print(f"Connection Closed")
# restart()
def on_error(ws, error):
print(f"Error")
print(error)
ws = websocket.WebSocketApp(socket, on_message=on_message, on_close=on_close, on_error=on_error)
Run Code Online (Sandbox Code Playgroud)
我已阅读文档但无济于事。如果有人能指出我正确的方向,我将不胜感激。
我正在尝试对信息、警告等名称进行颜色级别名称,但问题是当消息记录到日志文件时 - 有奇怪的字符。但是,它可以完美地打印到控制台。
代码:
import logging
import sys
logging.basicConfig(
level=logging.INFO,
format="%(asctime)s [%(levelname)s] %(message)s",
handlers=[
logging.FileHandler("log.txt"),
logging.StreamHandler(sys.stdout)
]
)
logging.addLevelName(logging.INFO, "\033[1;31m%s\033[1;0m" % logging.getLevelName(logging.INFO))
logging.info("This is just an information for you")
Run Code Online (Sandbox Code Playgroud)
这会用颜色打印级别名称“INFO”,但输出是:
2022-04-05 02:44:52,741 [[1;31mINFO[1;0m] This is just an information for you
Run Code Online (Sandbox Code Playgroud)
如何解决这个问题?
编辑:
logging.addLevelName(logging.INFO, "\033[1;94m%s\033[1;0m" % logging.getLevelName(logging.INFO))
logging.addLevelName(logging.WARNING, "\033[1;93m%s\033[1;0m" % logging.getLevelName(logging.WARNING))
logging.addLevelName(logging.ERROR, "\033[1;91m%s\033[1;0m" % logging.getLevelName(logging.ERROR))
Run Code Online (Sandbox Code Playgroud) 我正在尝试从抓取的数据中删除重复的行和包含某些单词的行。我搜索了各种代码,但它们不起作用:(
这是代码。只有第一部分有效,即删除重复行:
openFile = open("links.txt", "r")
writeFile = open("updatedfile.txt", "w")
#Store traversed lines
tmp = set()
for txtLine in openFile:
#Check new line
if txtLine not in tmp:
writeFile.write(txtLine)
#Add new traversed line to tmp
tmp.add(txtLine)
openFile.close()
writeFile.close()
sleep(5)
with open("updatedfile.txt", "r") as fp:
lines = fp.readlines()
with open("updatedfile.txt", "w") as fp:
for line in lines:
if line.strip("\n") != "search":
fp.write(line)
Run Code Online (Sandbox Code Playgroud)
这是 links.txt 文件
https://twitter.com/search?q=%23BTC&src=hashtag_click
https://twitter.com/search?q=%23ADA&src=hashtag_click
https://twitter.com/search?q=%23LTC&src=hashtag_click
https://twitter.com/search?q=%23CAKE&src=hashtag_click
https://twitter.com/Marie62943337
https://twitter.com/Marie62943337
https://twitter.com/Fathur0501
https://twitter.com/Fathur0501
https://twitter.com/BogdanMar93
https://twitter.com/BogdanMar93
https://t.[spaced because body cannot contain short …Run Code Online (Sandbox Code Playgroud)