小编fin*_*oot的帖子

pylab 中的顶部和底部轴(例如,具有不同的单位)(或左右)

我正在尝试使用 pylab/matplotlib 绘制绘图,并且我有两组不同的 x 轴单位。所以我希望绘图具有两个不同刻度的轴,一个在顶部,一个在底部。(例如,一个是英里,一个是公里左右。)

类似于下图(但我想要多个 X 轴,但这并不重要。)

带 JpGraph 的多轴

任何人都知道pylab是否可以做到这一点?

python plot axes matplotlib

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

如何对特定消息做出反应 (discord.py)

我正在编写一个建议机器人,它应该将玩家的建议发送到我服务器中的建议频道,并在建议频道中用一些表情符号做出反应。

问题是使用“消息”作为消息参数会对发送到触发代码的消息做出反应,但我希望它对机器人发送到建议频道的消息做出反应。我对编码相当陌生。如何让机器人对不同频道中的消息做出反应?

text_channel = client.get_channel('527127778982625291')
msg = 'Your suggestion has been sent to '+str(text_channel.mention)+' to be voted on!'
await client.send_message(message.channel, msg)
msg = str(message.author.mention)+' suggested "'+str(repAdder)+'"'
await client.send_message(discord.Object(id='527127778982625291'), msg)
print(message)
await client.add_reaction(bot_message, ":yes:527184699098136577")
await client.add_reaction(bot_message, ":no:527184806929235999")
await client.add_reaction(bot_message, '')
Run Code Online (Sandbox Code Playgroud)

discord discord.py

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

解析HTML页面以获取<p>和<b>标签的内容

有许多HTML页面被构造为一系列这样的组:

<p>
   <b> Keywords/Category:</b>
   "keyword_a, keyword_b"
</p>
Run Code Online (Sandbox Code Playgroud)

这些页面的地址是一样https://some.page.org/year/0001,https://some.page.org/year/0002等.

如何从每个页面中分别提取关键字?我试过使用BeautifulSoup,但没有成功.我只编写了打印组标题的程序(在<b>和之间</b>).

from bs4 import BeautifulSoup
from urllib2 import urlopen
import re
html_doc = urlopen('https://some.page.org/2018/1234').read()
soup = BeautifulSoup(html_doc)
for link in soup.find_all('a'):
    print 'https://some.page.org'+link.get('href')
for node in soup.findAll('b'):
    print ''.join(node.findAll(text=True))
Run Code Online (Sandbox Code Playgroud)

html python beautifulsoup web-crawler

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

Selenium Firefox webdriver导致错误:服务geckodriver意外退出.状态代码为:2

我正在编写一个程序,它将在网站上搜索文章中的特定条目,我正在使用selenium webdriver for Python.

在尝试连接到网站时,我遇到了以下异常:

Traceback (most 
recent call last):
  File "search.py", line 26, in <module>
    test.search_for_keywords()
  File "search.py", line 13, in search_for_keywords
    browser = webdriver.Firefox()
  File "C:\Python27\lib\site-packages\selenium-3.0.0b2-py2.7.egg\selenium\webdriver\firefox\webdriver.py", line 65, in __init__
    self.service.start()
  File "C:\Python27\lib\site-packages\selenium-3.0.0b2-py2.7.egg\selenium\webdriver\common\service.py", line 86, in start
    self.assert_process_still_running()
  File "C:\Python27\lib\site-packages\selenium-3.0.0b2-py2.7.egg\selenium\webdriver\common\service.py", line 99, in assert_process_still_running
    % (self.path, return_code)
selenium.common.exceptions.WebDriverException: Message: Service geckodriver unexpectedly exited. Status code was: 2
Run Code Online (Sandbox Code Playgroud)

它说网络驱动程序意外退出.我该如何解决这个问题?我正在尝试使用python版本2.7.12与firefox版本48.0连接

python firefox selenium exception selenium-webdriver

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

有什么方法可以从 Telegram 机器人打开应用程序吗?

我编写了一个 Telegram 机器人 (python-telegram-bot),我想知道是否有办法从该机器人打开应用程序。

更准确地说,机器人搜索 torrent 链接,最初的想法是将该链接直接发送到用户计算机中的 qBitTorrent,但不幸的是我陷入了这一步,所以目前我想给用户提供磁力链接,所以它可以粘贴到 qBitTorrent 应用程序中。问题是,如果能够从机器人自动打开应用程序,那就太棒了。

提前致谢!

python bittorrent python-3.x python-telegram-bot

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

如何确定函数是否已被`lambda`或`def`声明?

如果我声明两个函数,a并且b:

def a(x):
    return x**2

b = lambda x: x**2
Run Code Online (Sandbox Code Playgroud)

我无法type区分它们,因为它们都属于同一类型.

assert type(a) == type(b)
Run Code Online (Sandbox Code Playgroud)

另外,types.LambdaType没有帮助:

>>> import types
>>> isinstance(a, types.LambdaType)
True
>>> isinstance(b, types.LambdaType)
True
Run Code Online (Sandbox Code Playgroud)

人们可以使用__name__如下:

def is_lambda_function(function):
    return function.__name__ == "<lambda>"

>>> is_lambda_function(a)
False
>>> is_lambda_function(b)
True
Run Code Online (Sandbox Code Playgroud)

但是,由于__name__可能已被修改,is_lambda_function因此无法保证返回正确的结果:

>>> a.__name__ = '<lambda>'
>>> is_lambda_function(a)
True
Run Code Online (Sandbox Code Playgroud)

有没有一种方法可以产生比__name__属性更可靠的结果?

python lambda types function function-declaration

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

使用自 UNIX 纪元以来的秒数作为日志记录中的日期格式

文档logging.basicConfig说:

datefmt- 使用 所接受的指定日期/时间格式time.strftime()

但是,如果我查看 的文档time.strftime(),就会发现其中甚至没有提到 UNIX 纪元时间戳。


更新:如果我按照 的%s联机帮助页中的描述使用strftime(3),它适用于 Linux,但不适用于 Windows。

import time
time.strftime('%s')
Run Code Online (Sandbox Code Playgroud)

结果是

ValueError: Invalid format string
Run Code Online (Sandbox Code Playgroud)

因此,我正在寻找一种独立于平台的方法来使用自 UNIX 纪元以来的秒数作为日志记录中的日期格式。

python time logging epoch

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

如何删除文本文件中每行的前 x 个字符?

我有一个文本文件,我想在其中删除每行的前 6 个字符。字符是空格和一些数字。它们是 ascii 字符。如何才能做到这一点?我有一个windows环境。

示例文件:

54863 important text line 1
14247 important text line 2
29751 important text line 3
Run Code Online (Sandbox Code Playgroud)

结果示例:

important text line 1
important text line 2
important text line 3
Run Code Online (Sandbox Code Playgroud)

text replace file substitution

3
推荐指数
2
解决办法
9590
查看次数

如何修复“错误:找不到构建器@angular-devkit/build-angular:dev-server 的实现”

我将我的 angular 项目升级到 angular 8,现在当我输入时

ng serve
Run Code Online (Sandbox Code Playgroud)

我收到此错误:

错误:找不到 builder @angular-devkit/build-angular:dev-server 的实现

对于我使用的升级ng update。当我打字

ng update
Run Code Online (Sandbox Code Playgroud)

我得到:

使用包管理器:'npm'

正在收集已安装的依赖项...

找到 41 个依赖项。

我们分析了您的 package.json,一切似乎都井井有条。干得好!

angular8

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

使用`numpy.digitize`拆分NumPy数组后如何计算每个bin的平均值?

我有一个输入数组,它被分成多个 bin,我想计算这些 bin 的平均值。让我们假设以下示例:

>>> import numpy as np
>>> a = np.array([1.4, 2.6, 0.7, 1.1])
Run Code Online (Sandbox Code Playgroud)

哪个被分成垃圾箱np.digitize

>>> bins = np.arange(0, 2 + 1)
>>> indices = np.digitize(a, bins)
>>> indices
array([2, 3, 1, 2])
Run Code Online (Sandbox Code Playgroud)

这正是我期望它做的事情,你可以在这里更明确地看到:

>>> for i in range(len(bins)):
...     f"bin where {i} <= x < {i + 1} contains {a[indices == i + 1]}"
... 
'bin where 0 <= x < 1 contains [0.7]'
'bin where 1 <= x < 2 contains [1.4 1.1]'
'bin …
Run Code Online (Sandbox Code Playgroud)

python arrays numpy scientific-computing scipy

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