タグ

ファイルに関するkoma_gのブックマーク (8)

  • Linux におけるファイル I/O の基礎

    すべてがファイルというモデルの Linux (Unix) において、ファイル I/O (以降単に I/O と書く) を知っておいて損はない。 この記事では、基的なファイルと関連する I/O について、対応する Linux システムコールも併せて説明する。 次回はこれらを実際に Linux 上で確認する予定。 ファイル Unix におけるファイルとは、普通「通常ファイル」のことを指し、バイトがリニアに並んだデータ (byte stream) のことである。 ファイル内のバイトは読み書きが可能で、指定されたバイトから開始する。この開始バイトはファイル内の「位置」と考えることができ、ファイルポジションまたはファイルオフセットという。 通常ファイルとは別に、スペシャルファイルというファイルとして表現されたカーネルオブジェクトがある。Linux では、スペシャルファイルとしてデバイスノード・名前付

    Linux におけるファイル I/O の基礎
  • Pythonのrequestsを利用してmultipart/form-dataのFormにファイルアップロードする方法 - Qiita

    1. はじめに 前回の記事で予告した通り、今回はHTTPクライアントライブラリであるrequestsを利用したmultipart/form-dataによるファイルアップロードの方法について説明したいと思います。 Pythonrequestsを利用してRest API(json形式)にファイルアップロードする方法(前回の記事) 2. ソースコード # -*- coding: utf-8 -*- import requests # ★ポイント1 XLSX_MIMETYPE = 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' # <form action="/data/upload" method="post" enctype="multipart/form-data"> # <input type="fi

    Pythonのrequestsを利用してmultipart/form-dataのFormにファイルアップロードする方法 - Qiita
  • ファイル書き込みをするプログラムで気をつけた方がよいこと | IIJ Engineers Blog

    この記事について この記事では、ファイルに書き込みを行うプログラムを実装する時の注意点について説明します。 ファイル書き込みは、プログラミングにおいて比較的よく利用される機能でありながら、実装時に注意していないと、システムクラッシュ(意図しない電源の喪失や OS のクラッシュ等)後にファイル上のデータが整合性を失う可能性、平たく言えば、データが破損する場合があります。 今回の主な内容はトランザクションに関連する事柄で、ご存知の方からすると当たり前と思われることだと思われますが、執筆者がプログラミングの勉強を始めて以降知らない期間が長かったことと、他にもご存知ない方がある程度いらっしゃるのではないかと思ったため、このように記事にさせていただきました。 また、ここで説明する注意点は、クラッシュ後にデータの整合性が重要でない場合は、気を付ける必要がないものであることを先に書いておきます。 先にこ

    ファイル書き込みをするプログラムで気をつけた方がよいこと | IIJ Engineers Blog
  • ファイルの編集と置き換えの違い または シェルスクリプトの安全な置き換え - mrwk update

    この記事の目的 unixでのファイルの編集と置き換えの違いをまとめます。 unix系OSでのファイルの編集と置き換えの違いについて説明する。 シェルスクリプトの編集により事故が起きる仕組みを理解する。 安全な置き換えの手順を理解する。 ファイル名→inode→ファイル実体の対応づけ UNIX系OSのファイルシステムは、「ファイル名→ファイル実体」という対応関係ではなく、間にinodeを挟んだ「ファイル名 → inode → ファイル実体」という対応づけを行っています。 inodeを経由した対応関係のイメージ 「ファイル名→inode」の対応づけは、ディレクトリエントリにより行われます。 ディレクトリ内でファイル名とinode番号の対応づけが行われていて、ls -iなどで確認できます。 「inode→ファイル実体」の対応づけは、ファイルシステム内部で行われ、ユーザからは隠されます。 inod

    ファイルの編集と置き換えの違い または シェルスクリプトの安全な置き換え - mrwk update
  • ファイルの「穴」の話 - Qiita

    $ dd if=/dev/zero of=testfile1 bs=1 seek=104857599 count=1 ; ls -ls testfile1 1+0 records in 1+0 records out 1 bytes transferred in 0.000114 secs (8775 bytes/sec) 8 -rw-r--r-- 1 user staff 104857600 5 25 13:24 testfile $ ファイルサイズは100MBだけど、消費しているブロック数は8ブロックだけ、というファイルができる。Linux (coreutils) のコマンドtruncateや、qemuの管理コマンドqemu-imgコマンドを使っても、似たようなことができる。 ddはlseek(2)、write(2)という2つのシステムコールを使い、truncateとqemu-imgは

    ファイルの「穴」の話 - Qiita
  • WebAPI でファイルをアップロードする方法アレコレ - Qiita

    WebAPI を開発していると、ファイルを扱いたい場面に出くわすこともあると思います。 ただ、いざ WebAPI にファイルアップロードの仕組みを入れようとすると、いまいちしっくり来る方法がわからず、悩んだりするのではないでしょうか。 今回は実サービスの例を踏まえつつ、どのような方法が使われていて、何がベストプラクティスなのかを検討しようと思います。 ファイルの送信方法 モダンな RESTful WebAPI では、だいたい JSON でデータがやりとりされていると思いますが、この中にファイルの概念を入れようとすると、特に Input(ファイル送信)のやり方に悩むのではないかと思います。 世の中の WebAPI をざっと見てみると、ファイル送信については主に「multipart/form-data」と「Base64 エンコード」のどちらかが使われていることがわかります。 では、それぞれの特

    WebAPI でファイルをアップロードする方法アレコレ - Qiita
  • Flask,requestsでファイルアップロード、ファイルダウンロードのまとめ - Qiita

    { 'fileName': 'ファイル名', 'contentType': 'mimetype', 'contentData': 'バイナリデータをbase64でエンコードしたascii文字列' } 1.3. 普通のファイルダウンロード HTTPレスポンスヘッダにファイルのコンテントタイプやファイル名を設定し、HTTPレスポンスボディにファイルのデータを設定する普通のファイルダウンロードの方法です。 こちらもHTTPの仕様に準拠しているため、クライアント(requests)およびサーバ(Flask)にファイルダウンロードを考慮した便利なAPIが用意されています。 2. 応用 2.1. Flaskで巨大ファイルのダウンロードを実現する方法(予定) データサイズが数百MBから数GBのファイルをダウンロードさせる場合、サーバのリソース(主にメモリ)を考慮した実装を行う必要があります。 バッファリ

    Flask,requestsでファイルアップロード、ファイルダウンロードのまとめ - Qiita
  • Uploading Files — Flask Documentation (1.1.x)

    Warning: This is an old version. The latest stable version is Version 2.0.x. Uploading Files¶ Ah yes, the good old problem of file uploads. The basic idea of file uploads is actually quite simple. It basically works like this: A <form> tag is marked with enctype=multipart/form-data and an <input type=file> is placed in that form. The application accesses the file from the files dictionary on the r

  • 1