1

サブレディットのテスト用にボットを作成しようとしていますが、実行する前に PRAW で送信メソッドをテストしています。テキスト投稿を送信するには、次の行を使用します。

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

しかし、体が欲しくない場合はどうしますか?シェルでこの行を書いていますが、orに置き換える'Body'とすぐに、理解できない長いエラーが発生します。None''

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('Test', 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 に答える