1

我正在尝试为我的测试 subreddit 编写一个机器人,但在我运行它之前,我正在测试 PRAW 中的提交方法。要提交文本帖子,请使用以下行:

r.submit('Subreddit', 'Post Tile', text='Body')

但是如果你不想要身体怎么办?我在 shell 中写了这一行,但是一旦我替换'Body'Noneor替换'',我就会得到这个我不明白的长错误。

PRAW 文档说text=None是可以接受的,但如果是这样,为什么我会收到错误消息?

我得到的错误是:

r.submit('Spedwards', 'Test', text=None)

Traceback (most recent call last):
  File "<pyshell#61>", line 1, in <module>
     r.submit('Spedwards', 'Test', text=None)
  File "C:\Python34\lib\site-packages\praw\decorators.py", line 338, in wrapped
    return function(cls, *args, **kwargs)
  File "C:\Python34\lib\site-packages\praw\decorators.py", line 237, in wrapped
    return function(obj, *args, **kwargs)
  File "C:\Python34\lib\site-packages\praw\__init__.py", line 2200, in submit
    raise TypeError('One (and only one) of text or url is required!')
TypeError: One (and only one) of text or url is required!

subreddit.submit('测试', text=None)

Traceback (most recent call last):
  File "<pyshell#44>", line 1, in <module>
    subreddit.submit('Test', text=None)
  File "C:\Python34\lib\site-packages\praw\decorators.py", line 59, in wrapped
    return function(self.reddit_session, self, *args, **kwargs)
  File "C:\Python34\lib\site-packages\praw\decorators.py", line 338, in wrapped
    return function(cls, *args, **kwargs)
  File "C:\Python34\lib\site-packages\praw\decorators.py", line 237, in wrapped
    return function(obj, *args, **kwargs)
  File "C:\Python34\lib\site-packages\praw\__init__.py", line 2200, in submit
    raise TypeError('One (and only one) of text or url is required!')
TypeError: One (and only one) of text or url is required!
4

1 回答 1

2

文本的默认值为无。如果您不想包含任何文本,请设置 text=''。您发布的是一个实际的错误,并且 praw 的主分支现在已修复该错误。

于 2015-04-06T17:28:40.513 回答