Найти - Пользователи
Полная версия: Помогите пожалуйста с кодом.
Начало » Центр помощи » Помогите пожалуйста с кодом.
1
romzes96
 import requests
import subprocess
import json
import sys
import threading
import time
from Queue import Queue
numberOfViewers = int(sys.argv[1])
builderThreads = int(sys.argv[2])
startTime = time.time()
numberOfSockets = 0
concurrent = 25
urls = []
urlsUsed = []
def getURL(): # Get tokens
  output = subprocess.Popen(["livestreamer", "twitch.tv/moba_rus", "-j"], stdout=subprocess.PIPE).communicate()[0]
  return json.loads(output)['streams']['worst']['url'] # Parse json and return the URL parameter
def build(): # Builds a set of tokens, aka viewers
	global numberOfSockets
	global numberOfViewers
	while True:
		if numberOfSockets < numberOfViewers:
			numberOfSockets += 1
			print "Building viewers " + str(numberOfSockets) + "/" + str(numberOfViewers)
			urls.append(getURL())
def view(): # Opens connections to send views
	global numberOfSockets
	while True:
		url=q.get()
		requests.head(url)
		if (url in urlsUsed):
			urls.remove(url)
			urlsUsed.remove(url)
			numberOfSockets -= 1
		else:
			urlsUsed.append(url)
		q.task_done()
if __name__ == '__main__':
	for i in range(0, builderThreads):
		threading.Thread(target = build).start()
	
	while True:
		while (numberOfViewers != numberOfSockets): # Wait until sockets are built
			time.sleep(1)
		q=Queue(concurrent*2)
		for i in range(concurrent):
			try:
				t=threading.Thread(target=view)
				t.daemon=True
				t.start()
			except:
				print 'thread error'
		try:
			for url in urls:
				print url
				q.put(url.strip())
				q.join()
		except KeyboardInterrupt:
			sys.exit(1)

Изначально писал что в 19 строке ошибка TAB + пробелы.
19 строку исправил.
Теперь пишет что в 27 строке “ SyntaxError: invalid syntax ”
Помогите решить проблему пожалуйста.
Заранее спасибо/за внимание!
Stepan_M
print-ы без скобок?
 print("Building viewers " + str(numberOfSockets) + "/" + str(numberOfViewers))
и т.д.
romzes96
Stepan_M
print-ы без скобок?
Спасибо большое за помощь. Вы мне помогли. Я исправил эту строку, после чего в коде оказалось ещё 2 подобные строки. Я всё исправил, спасибо Вам!
-
Только теперь появилась другая проблема.
ImportError: No module named ‘requests’
Не подскажите как её решить?
Заранее спасибо за помощь/внимание!
romzes96
С этим разобрался. Это модуль который устанавливается отдельно.
Вот ссылка на ВИДЕО где все подробно описано.

Теперь у меня другая ошибка.
В 7 строке.

from Queue import Queue
ImportError: No module named ‘Queue’


Решаю дальше, у кого есть желание помогайте не стесняйтесь!)
Stepan_M
romzes96
ImportError: No module named ‘Queue’
Вероятно, тоже нет этого модуля в системе и его нужно установить.
romzes96
Stepan_M
Я загрузил эту библиотеку.
Она выглядит как queuelib. Но ошибка все равно осталось.
Кто знает как решить эту проблему?
PooH
romzes96
Я загрузил эту библиотеку.
Этот модуль часть стандартной библиотеки. У вас питон третей версии, в нем этот модуль с маленькой буквы называется.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB