當前位置: 首頁>>代碼示例>>Python>>正文


Python aiofiles.open方法代碼示例

本文整理匯總了Python中aiofiles.open方法的典型用法代碼示例。如果您正苦於以下問題:Python aiofiles.open方法的具體用法?Python aiofiles.open怎麽用?Python aiofiles.open使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在aiofiles的用法示例。


在下文中一共展示了aiofiles.open方法的15個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Python代碼示例。

示例1: File

# 需要導入模塊: import aiofiles [as 別名]
# 或者: from aiofiles import open [as 別名]
def File(node, filename='', json=True):
    '''Open up a file and write lines to the file

    Args:
        node (Node): input stream
        filename (str): filename to write
        json (bool): load file line as json
    '''

    async def _file(data):
        async with aiofiles.open(filename, mode='a') as fp:
            if json:
                fp.write(JSON.dumps(data))
            else:
                fp.write(data)
        return data

    ret = Node(foo=_file, name='File', inputs=1, graphvizshape=_OUTPUT_GRAPHVIZSHAPE)
    node >> ret
    return ret 
開發者ID:timkpaine,項目名稱:tributary,代碼行數:22,代碼來源:file.py

示例2: asgi_send_file

# 需要導入模塊: import aiofiles [as 別名]
# 或者: from aiofiles import open [as 別名]
def asgi_send_file(
    send, filepath, filename=None, content_type=None, chunk_size=4096
):
    headers = {}
    if filename:
        headers["Content-Disposition"] = 'attachment; filename="{}"'.format(filename)
    first = True
    async with aiofiles.open(str(filepath), mode="rb") as fp:
        if first:
            await asgi_start(
                send,
                200,
                headers,
                content_type or guess_type(str(filepath))[0] or "text/plain",
            )
            first = False
        more_body = True
        while more_body:
            chunk = await fp.read(chunk_size)
            more_body = len(chunk) == chunk_size
            await send(
                {"type": "http.response.body", "body": chunk, "more_body": more_body}
            ) 
開發者ID:simonw,項目名稱:datasette,代碼行數:25,代碼來源:asgi.py

示例3: _download

# 需要導入模塊: import aiofiles [as 別名]
# 或者: from aiofiles import open [as 別名]
def _download(self, *, url: str, path: Path) -> None:
        async with aiohttp_session(auth=self.auth) as session:
            async with session.get(url) as response:
                response.raise_for_status()

                # download file
                if aiofiles is not None:
                    async with aiofiles.open(str(path), mode='wb') as stream:
                        while True:
                            chunk = await response.content.read(1024)
                            if not chunk:
                                break
                            await stream.write(chunk)
                else:
                    with path.open(mode='wb') as stream:
                        while True:
                            chunk = await response.content.read(1024)
                            if not chunk:
                                break
                            stream.write(chunk) 
開發者ID:dephell,項目名稱:dephell,代碼行數:22,代碼來源:_base.py

示例4: send_tweet_with_media

# 需要導入模塊: import aiofiles [as 別名]
# 或者: from aiofiles import open [as 別名]
def send_tweet_with_media():
    # read the tweet's status
    status = input("status: ")

    path = ""
    while not path and not os.path.exists(path):
        path = input('file to upload:\n')

    # read the most common input formats
    path = urlparse(path).path.strip(" \"'")

    async with aiofiles.open(path, 'rb') as media:
        # optimize pictures if PIL is available
        if PIL:
            media = await process_media(media, path)

        uploaded = await client.upload_media(media,
                                             chunk_size=2**18,
                                             chunked=True)
        media_id = uploaded.media_id
        await client.api.statuses.update.post(status=status,
                                              media_ids=media_id) 
開發者ID:odrling,項目名稱:peony-twitter,代碼行數:24,代碼來源:upload.py

示例5: download

# 需要導入模塊: import aiofiles [as 別名]
# 或者: from aiofiles import open [as 別名]
def download(self, session=None, chunk=-1):
        if self.content:
            if chunk < 0:
                return self.content
            else:
                return self.content[:chunk]

        Media.cache_dir.mkdir(exist_ok=True)

        if self.cache.exists():
            async with aiofiles.open(str(self.cache), mode='rb') as stream:
                self.content = await stream.read()
                if self.content_length == len(self.content):
                    return self.content

        if session is None:
            raise RuntimeError("No session")

        async with session.get(self.url) as response:
            print("downloading", self.filename)
            self.content = await response.read()
            async with aiofiles.open(str(self.cache), mode='wb') as stream:
                await stream.write(self.content)

            return self.content 
開發者ID:odrling,項目名稱:peony-twitter,代碼行數:27,代碼來源:__init__.py

示例6: run

# 需要導入模塊: import aiofiles [as 別名]
# 或者: from aiofiles import open [as 別名]
def run(self) -> bool:
        """Runs scanner"""
        logger.info("Running pipeline with these steps:")
        for n, filt in enumerate(self.filters):
            logger.info(" %i. %s", n+1, filt.get_info())
        res = super().run()
        logger.info("")
        logger.info("Recipe status statistics:")
        for key, value in self.stats.most_common():
            logger.info("%s: %s", key, value)
        logger.info("SUM: %i", sum(self.stats.values()))
        if self.status_fn:
            with open(self.status_fn, "w") as out:
                for rname, result in self.status:
                    out.write(f'{rname}\t{result.name}\n')
        return res 
開發者ID:bioconda,項目名稱:bioconda-utils,代碼行數:18,代碼來源:autobump.py

示例7: apply

# 需要導入模塊: import aiofiles [as 別名]
# 或者: from aiofiles import open [as 別名]
def apply(self, recipe: Recipe) -> None:
        if not recipe.is_modified():
            raise self.NoChanges(recipe)

        branch_name = self.branch_name(recipe)
        changed = False
        async with self.git.lock_working_dir:
            self.git.prepare_branch(branch_name)
            async with aiofiles.open(recipe.path, "w",
                                     encoding="utf-8") as fdes:
                await fdes.write(recipe.dump())
            if recipe.version != recipe.orig.version:
                msg = f"Update {recipe} to {recipe.version}"
            elif recipe.build_number != recipe.orig.build_number:
                msg = f"Bump {recipe} buildnumber"
            else:
                msg = f"Update {recipe}"
            changed = self.git.commit_and_push_changes([recipe.path], branch_name, msg)
        if changed:
            # CircleCI appears to have problems picking up on our PRs. Let's wait
            # a while before we create the PR, so the pushed branch has time to settle.
            await asyncio.sleep(10)  # let push settle before going on
        elif not recipe.on_branch:
            raise self.NoChanges(recipe) 
開發者ID:bioconda,項目名稱:bioconda-utils,代碼行數:26,代碼來源:autobump.py

示例8: main

# 需要導入模塊: import aiofiles [as 別名]
# 或者: from aiofiles import open [as 別名]
def main(self):
        ''''''
        res = self.getAllapi();
        if isinstance(res,dict):
            print(res)
            return
        for item in res:
            dt = {}
            name = item.get('name',None) or item.get('treeName',None)
            if name not in ['淘寶客API','淘寶搜索API','會員中心API','淘寶卡券平台','商戶API','手淘分享','手機淘寶API']:
                continue
            for doc_item in item.get('catelogList',[]):
                res = await self.getDetail(doc_item.get('docId',285),doc_item.get('docType',2))
                dt.update(res)
            # async with aiofiles.open(name += '.json','wb') as f:
            #     await f.write(json.dumps(dt))
            with open(name + '.json','w') as f:
                # f.write(json.dumps(dt))
                json.dump(dt,f) 
開發者ID:xinlingqudongX,項目名稱:TSDK,代碼行數:21,代碼來源:淘寶API文檔解析.py

示例9: get_file_getter

# 需要導入模塊: import aiofiles [as 別名]
# 或者: from aiofiles import open [as 別名]
def get_file_getter(file_path,
                    file_size,
                    size_limit=1024*64):
    # NB: if the file size is small, we read its bytes and return them;
    # otherwise, a lazy reader is returned; that returns the file in chunks

    if file_size > size_limit:
        async def file_chunker():
            async for chunk in get_file_chunks(file_path, size_limit):
                yield chunk
            yield b''

        return file_chunker

    async def file_getter():
        async with aiofiles.open(file_path, mode='rb') as file:
            data = await file.read()
            yield data
            yield b''
    return file_getter 
開發者ID:RobertoPrevato,項目名稱:BlackSheep,代碼行數:22,代碼來源:__init__.py

示例10: _read_from_persisted

# 需要導入模塊: import aiofiles [as 別名]
# 或者: from aiofiles import open [as 別名]
def _read_from_persisted() -> Optional[List[dict]]:
    try:
        async with aiofiles.open(_last_check_file()) as open_file:
            last_check = json.loads(await open_file.read())

        if _is_recent(last_check):
            return last_check["data"]
        else:
            return None

    except json.JSONDecodeError as e:
        logging.warning("Unable to decode persisted releases check: %s", str(e))
        return None

    except FileNotFoundError:
        return None 
開發者ID:randovania,項目名稱:randovania,代碼行數:18,代碼來源:github_releases_data.py

示例11: fetch_player

# 需要導入模塊: import aiofiles [as 別名]
# 或者: from aiofiles import open [as 別名]
def fetch_player(self, tag=None, auth=None, **kwargs):
        """Fetch player"""
        url = 'https://api.rushstats.com/v1/player/{}'.format(clean_tag(tag))
        fn = os.path.join(CACHE_PLAYER_PATH, "{}.json".format(tag))
        try:
            data = await self.fetch(url=url, auth=auth)
        except APIServerError:
            if os.path.exists(fn):
                async with aiofiles.open(fn, mode='r') as f:
                    data = json.load(await f.read())
            else:
                raise
        else:
            async with aiofiles.open(fn, mode='w') as f:
                json.dump(data, f)

        return RWPlayer(data) 
開發者ID:smlbiobot,項目名稱:SML-Cogs,代碼行數:19,代碼來源:rushwars.py

示例12: fetch_team

# 需要導入模塊: import aiofiles [as 別名]
# 或者: from aiofiles import open [as 別名]
def fetch_team(self, tag=None, auth=None, **kwargs):
        """Fetch player"""
        url = 'https://api.rushstats.com/v1/team/{}'.format(clean_tag(tag))
        fn = os.path.join(CACHE_TEAM_PATH, "{}.json".format(tag))
        try:
            data = await self.fetch(url=url, auth=auth)
        except APIServerError:
            if os.path.exists(fn):
                async with aiofiles.open(fn, mode='r') as f:
                    data = json.load(await f.read())
            else:
                raise
        else:
            async with aiofiles.open(fn, mode='w') as f:
                json.dump(data, f)

        return RWTeam(data) 
開發者ID:smlbiobot,項目名稱:SML-Cogs,代碼行數:19,代碼來源:rushwars.py

示例13: _rwset_config

# 需要導入模塊: import aiofiles [as 別名]
# 或者: from aiofiles import open [as 別名]
def _rwset_config(self, ctx):
        """Team config"""
        if len(ctx.message.attachments) == 0:
            await self.bot.say(
                "Please attach config yaml with this command. "
                "See config.example.yml for how to format it."
            )
            return

        attach = ctx.message.attachments[0]
        url = attach["url"]

        async with aiohttp.ClientSession() as session:
            async with session.get(url) as resp:
                with open(TEAM_CONFIG_YML, "wb") as f:
                    f.write(await resp.read())

        await self.bot.say(
            "Attachment received and saved as {}".format(TEAM_CONFIG_YML))

        self.settings['config'] = TEAM_CONFIG_YML
        dataIO.save_json(JSON, self.settings)

        await self.bot.delete_message(ctx.message) 
開發者ID:smlbiobot,項目名稱:SML-Cogs,代碼行數:26,代碼來源:rushwars.py

示例14: api_fetch_player

# 需要導入模塊: import aiofiles [as 別名]
# 或者: from aiofiles import open [as 別名]
def api_fetch_player(tag=None, auth=None, session=None, **kwargs):
    """Fetch player"""
    url = 'https://api.brawlstars.com/v1/players/%23{}'.format(clean_tag(tag))
    fn = os.path.join(CACHE_PLAYER_PATH, "{}.json".format(tag))
    try:
        data = await api_fetch(url=url, auth=auth, session=session)
    except APIServerError:
        if os.path.exists(fn):
            async with aiofiles.open(fn, mode='r') as f:
                data = json.load(await f.read())
        else:
            raise
    else:
        async with aiofiles.open(fn, mode='w') as f:
            json.dump(data, f)

    return BSPlayer(data) 
開發者ID:smlbiobot,項目名稱:SML-Cogs,代碼行數:19,代碼來源:brawlstars_official.py

示例15: _bsset_config

# 需要導入模塊: import aiofiles [as 別名]
# 或者: from aiofiles import open [as 別名]
def _bsset_config(self, ctx):
        """Band config"""
        if len(ctx.message.attachments) == 0:
            await self.bot.say(
                "Please attach config yaml with this command. "
                "See config.example.yml for how to format it."
            )
            return

        attach = ctx.message.attachments[0]
        url = attach["url"]

        async with self.session.get(url) as resp:
            with open(BAND_CONFIG_YML, "wb") as f:
                f.write(await resp.read())

        await self.bot.say(
            "Attachment received and saved as {}".format(BAND_CONFIG_YML))

        self.settings['config'] = BAND_CONFIG_YML
        dataIO.save_json(JSON, self.settings)

        await self.bot.delete_message(ctx.message) 
開發者ID:smlbiobot,項目名稱:SML-Cogs,代碼行數:25,代碼來源:brawlstars_official.py


注:本文中的aiofiles.open方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。