Size: a a a

2020 October 02

NK

Nikita Knyzhov in SPb Python
если я делаю return из конструкции with - все соединения закрываются же?
источник

ES

Egor Suvorov in SPb Python
Nikita Knyzhov
если я делаю return из конструкции with - все соединения закрываются же?
Если они были открыты через этот with — то должны
источник

SK

Sergio Keler in SPb Python
Nikita Knyzhov
если я делаю return из конструкции with - все соединения закрываются же?
да. это фича оператора with
источник

NK

Nikita Knyzhov in SPb Python
Ок, спасибо! У меня просто все такие штуки через with сделаны, и все равно летит Unclosed connection откуда-то, я уже ни в чем не уверен))
источник

SK

Sergio Keler in SPb Python
Nikita Knyzhov
Ок, спасибо! У меня просто все такие штуки через with сделаны, и все равно летит Unclosed connection откуда-то, я уже ни в чем не уверен))
f1=open(файл1)
with open(файл2) as f2:
 блабла
 return

f1 останется открытым и будет атата, f2 закроется
источник

SK

Sergio Keler in SPb Python
то есть, закрывается только то, что открывалось оператором with
источник

NK

Nikita Knyzhov in SPb Python
Sergio Keler
f1=open(файл1)
with open(файл2) as f2:
 блабла
 return

f1 останется открытым и будет атата, f2 закроется
понимаю
источник

SK

Sergio Keler in SPb Python
и в трейсе видно что за анклосед и кто так ругается
источник

NK

Nikita Knyzhov in SPb Python
Sergio Keler
и в трейсе видно что за анклосед и кто так ругается
ну трейс указывает на такую строку async with self.s3_client() as s3:
источник

SK

Sergio Keler in SPb Python
а зачем так? ой
источник

SK

Sergio Keler in SPb Python
а внутри есть
await блабла ... s3.лала()?
источник

NK

Nikita Knyzhov in SPb Python
Sergio Keler
а внутри есть
await блабла ... s3.лала()?
да
источник

SK

Sergio Keler in SPb Python
надо целиком от слова асинк до ретурн код видеть
источник

NK

Nikita Knyzhov in SPb Python
Sergio Keler
надо целиком от слова асинк до ретурн код видеть
async with self.s3_client() as s3:
 try:
   await s3.get_object(Bucket=bucket, Key=target_path)
 except ClientError as err:
   if err.response['Error']['Code'] == 'NoSuchKey':
     logging.warning(f'{target_path} was not found in ceph')
     return False
 else:
   return True
источник

NK

Nikita Knyzhov in SPb Python
Sergio Keler
надо целиком от слова асинк до ретурн код видеть
s3_client просто коннект возвращает на сколько я понимаю
def s3_client(self):
       return aioboto3.client(
           "s3",
           endpoint_url=self.url,
           aws_access_key_id=self.username,
           aws_secret_access_key=self.password)
источник

SK

Sergio Keler in SPb Python
async def s3_client(self)  :
не?
источник

SK

Sergio Keler in SPb Python
хотя... нет идей
источник

SK

Sergio Keler in SPb Python
aioboto3.client совместима с with?
источник

NK

Nikita Knyzhov in SPb Python
Sergio Keler
aioboto3.client совместима с with?
у них в доках везде с with
источник

SK

Sergio Keler in SPb Python
ясно
источник