Случайная публикация твиттер-изображений из каталога - PullRequest
0 голосов
/ 19 марта 2019

Так что я не знаю, в чем моя проблема, я программист-любитель, поэтому я не знаю, правильно ли я поступаю или нет. Вот почему я был бы очень признателен, если бы кто-нибудь мог мне хоть немного помочь. Это мой код, и я действительно не знаю, что мне не удается, потому что он говорит, что это ошибка на пути:

import tweepy
from time import sleep
folderpath= "E:\Fotosprueba"
def tweepy_creds():
    consumer_key = 'x'
    consumer_secret = 'x'
    access_token = 'x'
    access_token_secret = 'x'

    auth = tweepy.OAuthHandler(consumer_key, consumer_secret)
    auth.set_access_token(access_token, access_token_secret)

    return tweepy.API(auth)

def getPathsFromDir(dir, EXTS="extensions=,png,jpg,jpeg,gif,tif,tiff,tga,bmp"):
    return this.listPaths('E:\Fotosprueba', EXTS)

def tweet_photos(api):
imagePaths = "E:\Fotosprueba"
for x in imagePaths:
    status = "eeeee macarena"
    try:
        api.update_with_media(filename=x,status=status)
        print ("Tweeted!")
        sleep(10)
    except Exception as e:
        print ("encountered error! error deets: %s"%str(e))
        break

if __name__ == "__main__":
    tweet_photos(tweepy_creds())

1 Ответ

0 голосов
/ 19 марта 2019

У вас, похоже, отсутствует отступ для вашего tweet_photos метода.Без этого отступа интерпретатор не сможет сказать, где метод начинается и заканчивается.

Кроме того, вы пытаетесь перебрать str.В этом случае значением x будет каждый отдельный символ в этой строке.Вы можете проверить это, запустив следующий код в интерпретаторе Python:

imagePaths = "E:\Fotosprueba"
for x in imagePaths:
  print(x)

Вывод:

Python 3.6.1 (default, Dec 2015, 13:05:11)
[GCC 4.8.2] on linux
E
:
\
F
o
t
o
s
p
r
u
e
b
a

Судя по всему, вы можете передать значение этой строкивместо getPathsFromDir метода.Попробуйте это:

def getPathsFromDir(dir, EXTS="extensions=,png,jpg,jpeg,gif,tif,tiff,tga,bmp"):
    return this.listPaths(dir, EXTS) # This now uses the value of dir


def tweet_photos(api):
    imagePaths = "E:\Fotosprueba"
    # This now passes imagepaths to the getPathsFromDir method, 
    # and *should* return a list of files.
    for x in getPathsFromDir(imagePaths): 
        status = "eeeee macarena"
        try:
            api.update_with_media(filename=x,status=status)
            print ("Tweeted!")
            sleep(10)
        except Exception as e:
            print ("encountered error! error deets: %s"%str(e))
            break

Теоретически это должно работать как задумано, если ваш класс также включает метод listPaths.Если это не так, вам нужно изменить, чтобы включить этот метод, или изменить вызов на this.listpaths, чтобы он указывал куда-то еще.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...