Уведомления

Группа в Telegram: @pythonsu

#1 Окт. 8, 2014 15:04:11

mshome86
Зарегистрирован: 2014-10-08
Сообщения: 20
Репутация: +  0  -
Профиль   Отправить e-mail  

Параллельные вычисления в python одной строкой

всем доброго дня.
наткнулся на вот такой код в сети но он почему то у меня не работает может кто подскажет по коду
import urllib2
from multiprocessing.dummy import Pool as ThreadPool

urls = [
'http://www.python.org',
'http://www.python.org/about/',
'http://www.onlamp.com/pub/a/python/2003/04/17/metaclasses.html',
'http://www.python.org/doc/',
'http://www.python.org/download/',
'http://www.python.org/getit/',
'http://www.python.org/community/',
'https://wiki.python.org/moin/',
'http://planet.python.org/',
'https://wiki.python.org/moin/LocalUserGroups',
'http://www.python.org/psf/',
'http://docs.python.org/devguide/',
'http://www.python.org/community/awards/'
# etc..
]

# Создаём набор обработчиков
pool = ThreadPool(4)
# Открываем ссылки в собственных потоках и возвращаем результаты
results = pool.map(urllib2.urlopen, urls)
#закрываем набор и ждём, пока работа будет закончена
pool.close()
pool.join()

Офлайн

#2 Окт. 8, 2014 15:34:05

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Параллельные вычисления в python одной строкой

mshome86
но он почему то у меня не работает
У меня сосед не работает, но бухает ежедневно. Не подскажите почему?



Офлайн

#3 Окт. 8, 2014 17:37:15

mshome86
Зарегистрирован: 2014-10-08
Сообщения: 20
Репутация: +  0  -
Профиль   Отправить e-mail  

Параллельные вычисления в python одной строкой

FishHook
это прикольно но ты у себя код запускал??

Офлайн

#4 Окт. 8, 2014 17:38:48

mshome86
Зарегистрирован: 2014-10-08
Сообщения: 20
Репутация: +  0  -
Профиль   Отправить e-mail  

Параллельные вычисления в python одной строкой

FishHook
может по скайпу пообщаемся да ты мне поиснишь по коду

Офлайн

#5 Окт. 8, 2014 17:47:16

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Параллельные вычисления в python одной строкой

mshome86
но ты у себя код запускал
Если тебе нужен ответ на твой вопрос и хотя бы немного мозгов в голове, то ты сейчас выложишь сюда ошибку, которая у тебя возникает. Сomprendre?



Офлайн

#6 Окт. 8, 2014 17:53:26

mshome86
Зарегистрирован: 2014-10-08
Сообщения: 20
Репутация: +  0  -
Профиль   Отправить e-mail  

Параллельные вычисления в python одной строкой

FishHook
Message File Name Line Position
Traceback
<module> <module1> 24
map C:\Users\msh\Desktop\Portable Python 2.7.5.1\App\lib\multiprocessing\pool.py 250
get C:\Users\msh\Desktop\Portable Python 2.7.5.1\App\lib\multiprocessing\pool.py 554
HTTPError: HTTP Error 404: NOT FOUND

Офлайн

#7 Окт. 8, 2014 17:55:52

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Параллельные вычисления в python одной строкой

Офлайн

#8 Окт. 8, 2014 17:59:25

mshome86
Зарегистрирован: 2014-10-08
Сообщения: 20
Репутация: +  0  -
Профиль   Отправить e-mail  

Параллельные вычисления в python одной строкой

FishHook
может по скайпу початимся??
мне так проще будет а то я не любитель форумов

Офлайн

#9 Окт. 8, 2014 18:00:59

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Параллельные вычисления в python одной строкой

А я вот не любитель скайпов



Офлайн

#10 Окт. 8, 2014 18:03:43

mshome86
Зарегистрирован: 2014-10-08
Сообщения: 20
Репутация: +  0  -
Профиль   Отправить e-mail  

Параллельные вычисления в python одной строкой

ладно поставлю вопрос по другому
как при помощи pool и map ускорить программу

#——————————————————————————-
# Name: module1
# Purpose:
#
# Author: msh
#
# Created: 05.08.2014
# Copyright: © msh 2014
# Licence: <your licence>
#——————————————————————————-
import httplib
import urllib
import urllib2
import json
import hashlib
import hmac
import time
nonce=1

BTC_key=“”
BTC_secret=“”

def get():
u = urllib2.urlopen("https://btc-e.com/api/3/depth/usd_rur?limit=1")
str = u.read()
z = json.loads(str)
bids=z
return bids
def trade(ord_type, ord_rate, ord_amount, p):
try:

nonce = int(int(time.time()*10)%(10*60*60*24*366*10)-867780726+26000000)*2+1

# method name and nonce go into the POST parameters
params = {“method”:“Trade”,
“nonce”: nonce,
“pair”: p,
“type”: ord_type,
“rate”: ord_rate,
“amount”: ord_amount}
params = urllib.urlencode(params)

# Hash the params string to produce the Sign header value
H = hmac.new(BTC_secret, digestmod=hashlib.sha512)
H.update(params)
sign = H.hexdigest()

headers = {“Content-type”: “application/x-www-form-urlencoded”,
“Key”:BTC_key,
“Sign”:sign}
conn = httplib.HTTPSConnection(“btc-e.com”)
conn.request(“POST”, “/tapi”, params, headers)
response = conn.getresponse()

a = json.load(response)

except:
conn
return
def getInfo():

nonce = int(int(time.time()*10)%(10*60*60*24*366*10)-867780726+26000000)*2+1

# method name and nonce go into the POST parameters
params = {“method”:“getInfo”,
“nonce”: nonce}
params = urllib.urlencode(params)

# Hash the params string to produce the Sign header value
H = hmac.new(BTC_secret, digestmod=hashlib.sha512)
H.update(params)
sign = H.hexdigest()

headers = {“Content-type”: “application/x-www-form-urlencoded”,
“Key”:BTC_key,
“Sign”:sign}
conn = httplib.HTTPSConnection(“btc-e.com”)
conn.request(“POST”, “/tapi”, params, headers)
response = conn.getresponse()

a = json.load(response)

conn.close()
x=a
usd=x
rur=x
return usd,rur

def buy():
x=get()
c=getInfo()
print x
i=0
while i<1:
a=x+i
i=i-0.0052
print a
z=trade(“buy”,a , 0.17702070,“usd_rur”)
if a<38.5:
break



def sell():
x=get()
print x
i=0
while i<100:
a=x+i
i=i+0.0052
print a
z=trade(“sell”,a+0.19, 0.17666666,“usd_rur”)
if a>39.7:
break



def main():
while True:
try:
x=getInfo()
c=get()
print “Balance: ” + “usd: ” + str(x) + “ rur: ” + str(x)
if x > 12:
if c<39.5:
buy()

if x > 0.17666665:
sell()

except KeyboardInterrupt:
print “cancel user”

except:
print “IO error”
time.sleep(5)
continue

if __name__ == ‘__main__’:
main()

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version