Это может быть вызвано тем, что ваш модуль не защищен от запуска при импорте. Это означает, что каждый раз, когда ваш модуль импортируется (может произойти на
from package import *
), ваш код интерпретируется и создается новый l oop.
Вы можете убедиться Ваш код запускается только тогда, когда вы хотите, чтобы он выполнялся с этим:
Создайте функцию из вашего кода, назовем ее main ().
Затем вы можете проверить, называется ли ваш модуль как скрипт.
def main():
# tweepy will allow us to communicate with Twitter, time will allow us to set how often we tweet
import tweepy, time
#enter the corresponding information from your Twitter application management:
CONSUMER_KEY = 'mykey' #keep the quotes, replace this with your consumer key
CONSUMER_SECRET = 'mykey' #keep the quotes, replace this with your consumer secret key
ACCESS_TOKEN = 'my-my' #keep the quotes, replace this with your access token
ACCESS_SECRET = 'mykey' #keep the quotes, replace this with your access token secret
# configure our access information for reaching Twitter
auth = tweepy.OAuthHandler(CONSUMER_KEY, CONSUMER_SECRET)
auth.set_access_token(ACCESS_TOKEN, ACCESS_SECRET)
# access Twitter!
api = tweepy.API(auth)
# open our content file and read each line
filename=open('content.txt')
f=filename.readlines()
filename.close()
# for each line in our contents file, lets tweet that line out except when we hit a error
for line in f:
try:
api.update_status(line)
print("Tweeting!")
except tweepy.TweepError as err:
print(err)
time.sleep(3600) #Tweet every hour
print("All done tweeting!")
if __name__ == "__main__":
main()
Если вам нужно использовать свой код из другого скрипта, вы можете использовать
from your_module import main
main()
Или из командной строки:
python -m your_module