Python ファイル読み取り操作の詳細な紹介
この記事では、Python のファイル読み取り操作について詳しく説明します。参考になるものがあります。困っている友人は参考にしてください。お役に立てれば幸いです。
ファイルを読み取るための操作手順
象を冷蔵庫に入れる手順を尋ねる頭の体操があります。答えは非常に簡単です。冷蔵庫を開けて、象を入れる 押し込んで冷蔵庫を閉めます。これは問題に対処するためのアイデアです。ファイルに対する操作は同じです。最初のステップ: ファイルを開きます。第 2 ステップ: ファイルを処理します (読み取りまたは書き込み)。第 3 ステップはファイルを閉じます。方法それについて?実はとても簡単なので、ファイル操作について詳しく説明していきます。
ファイルを開く
1 |
|
ファイルを開くには、open() 関数を使用する必要があります。() に含まれるパラメータは、次の 3 つのパラメータだけを知っている必要があります。最初の段階は、ファイル、モード、エンコーディングです
#file
#最初はファイル名、タイプは文字列、パスは次のとおりです。開くファイルが現在のファイルと同じファイルにある場合 ディレクトリ内の場合はパス(相対パス)を省略できます。 #ファイルを開くためのモードです。形式は次のとおりです: mode='mode'、ここで「mode=」は省略できます。モードを直接記述します。モードが指定されていない場合、デフォルトは r です。特定のモードは次のとおりです。ここでは、疑似名詞であるポインターを紹介します。Word でテキストを編集するときに、カーソルがあると想像してみてください。ポインタは、ファイルに対するすべての操作が開始されるカーソルと考えることができます。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
|
encoding
3 番目のパラメータは、ファイルのエンコーディング (非バイナリ形式で使用) です。エンコーディング設定は、ファイルのエンコーディングと一致している必要があります。開かれない場合、エラーが報告されます。これは、ソース ファイルがどのエンコーディングで書かれているかを意味し、ファイルを開くときにどのエンコーディングを使用する必要があるかを示します。
ファイルの処理
エラーの例を示します。実装される操作は、「test」という名前のファイルを開くことです。元のファイル エンコーディングは utf- 8. で、開くときに gbk エンコードを使用しました。その文書には一文しかありません: 10 歩で 1 人を殺し、1,000 マイルに痕跡を残さない。
コードは次のとおりです:1 2 3 4 |
|
ただし、上記のコードを実行するとエラーが報告されます。以下はエラー メッセージです。主な考え方は、gbkエンコードをデコードできません (ファイルを開くプロセスが実際にはデコード プロセスです)
1 2 3 4 5 6 7 8 9 10 11 12 |
|
解決策は非常に簡単です。エンコード方法を utf-8 に変更するだけです。Linux システムのデフォルトは utf-8 エンコードであるためです。 , エンコーディングは省略できます。ファイルを読み込むだけなので、モードは r です。デフォルトのモードは r です。省略することもできます。 したがって、コードは次のようになります:
1 2 3 4 5 6 |
|
メソッド read() に数値パラメータを追加することもできます。これは、漢字か文字かに関係なく、読み取る文字数を指定するために使用されます。 , 1 つの文字は 1 つの文字または中国語の文字に対応し、バイトと区別する必要があります。例は次のとおりです:
1 2 3 4 5 6 |
|
以前のファイルを開く方法は、ステートメントを記述する必要があったため、さらに面倒でした。最後にファイルを閉じるための簡単な方法です。メソッドの形式は次のとおりです:
1 2 |
|
このメソッドを使用する利点は、ファイルを閉じるためのステートメントを記述する必要がないことです。キーワードと同様に、形式を覚えておいてください。
次にバイナリ形式のファイルを作成します
1 2 |
|
ファイルを開く方法はバイナリ形式であるため、ファイルを書き込むときに文字列を書き込む必要があります。バイナリ形式ですが、「十歩で人を殺し、千マイルに痕跡を残さない」の場合、「この文字列のバイナリ形式は何ですか?」分からないので、.encode(utf8) を使用してこの文字列をバイナリ形式に変換します。実際、この文字列に対応するバイナリ形式は、別のコードを通じて知ることができます。コードは次のとおりです:
1 2 3 |
|
在实际中我们当然不可能写这么长的东西,所以我们使用.encode('utf8')来转化。转化时我们使用了utf-8的编码方式。
在这里说明一下为什么要编码,想弄清楚这件事就要明白计算机的存储原理。
简单地讲,文件在计算机中都是以二进制格式存储的,对于计算机来讲只有两个数字有意义,那就是0和1,也就是二进制,而不同的0和1的组合代表不同的含义(编码不同),比如在gbk编码下一个汉字由两个字节表示,也就是16位二进制数(16个0和1的组合),而在utf-8编码下一个汉字由3个字节表示,也就是24位二进制数(24个0和1的组合),而我们现在要给计算机存储的就是0和1的组合,那么在读取文件或者转化字符串时,如果你不告诉计算机你使用的是哪种编码的话,计算机怎么可能知道这些0和1的组合代表什么含义呢?所以从计算机取出数据或者把普通字符串转化成二进制格式时你必须告诉计算机你使用的是什么编码方式。
在本例中使用utf-8编码,所以在字符串后面加上.encode(utf8)
那么为什么平时可以直接写入普通字符串呢?那是因为在用open()函数打开文件的时候就已经指定了编码方式。
形象地解释:open函数相当于打开了一种通道,平时打开时都是用某种编码的方式打开的,所以我们在写入内容时不必管它以什么编码进入通道的(因为在open函数里面就已经指定了编码方式)
而当open函数使用二进制格式打开时(就是带b的模式),这个通道就没有指定编码方式,通道里面只有二进制,所以此时往通道里面放入非二进制格式内容的话就需要指定一种编码方式。除非你直接在file.write()函数中直接写二进制,但是人类是不可能记住那么多二进制组合所代表的含义的。
然后我们来读取一下上面创建的名字为“二进制”的这个文件
1 2 |
|
如果我们在读取时不指定解码方式,那么输出的结果就是下面这种人类无法理解的奇怪的东西(实际上它是用16进制表示的二进制)
1 |
|
所以我们在读取时也要指定编码:
1 2 3 4 5 |
|
其他的在读取时可能用到的方法:
1 2 3 4 |
|
使用readlines()并不是一个好方法,因为是一次性将文件都读取到内存中,如果文件较大时则造成内存溢出,实际中使用下面的方法,系统会自动生成一个迭代器,用迭代的方法把需要的数据取出来。
1 2 3 |
|
1 2 3 4 5 6 7 8 9 10 11 |
|
关闭文件
如果用with open() 来打开文件的话就不用管关闭文件的操作了,因为Python已经帮你完成了这一步,否则必须在处理文件之后加上关闭文件的操作:file_name.close()
以上がPython ファイル読み取り操作の詳細な紹介の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











ほとんどのテキストエディターを使用して、XMLファイルを開きます。より直感的なツリーディスプレイが必要な場合は、酸素XMLエディターやXMLSPYなどのXMLエディターを使用できます。プログラムでXMLデータを処理する場合、プログラミング言語(Pythonなど)やXMLライブラリ(XML.ETREE.ELEMENTTREEなど)を使用して解析する必要があります。

XMLをPDFに直接変換するアプリケーションは、2つの根本的に異なる形式であるため、見つかりません。 XMLはデータの保存に使用され、PDFはドキュメントを表示するために使用されます。変換を完了するには、PythonやReportLabなどのプログラミング言語とライブラリを使用して、XMLデータを解析してPDFドキュメントを生成できます。

小さなXMLファイルの場合、注釈コンテンツをテキストエディターに直接置き換えることができます。大きなファイルの場合、XMLパーサーを使用してそれを変更して、効率と精度を確保することをお勧めします。 XMLコメントを削除するときは注意してください。コメントを維持すると、通常、コードの理解とメンテナンスが役立ちます。高度なヒントは、XMLパーサーを使用してコメントを変更するためのPythonサンプルコードを提供しますが、特定の実装を使用するXMLライブラリに従って調整する必要があります。 XMLファイルを変更する際のエンコード問題に注意してください。 UTF-8エンコードを使用して、エンコード形式を指定することをお勧めします。

XMLコンテンツを変更するには、ターゲットノードの正確な検出が必要であるため、プログラミングが必要です。プログラミング言語には、XMLを処理するための対応するライブラリがあり、APIを提供して、データベースの運用などの安全で効率的で制御可能な操作を実行します。

XMLフォーマットツールは、読みやすさと理解を向上させるために、ルールに従ってコードを入力できます。ツールを選択するときは、カスタマイズ機能、特別な状況の処理、パフォーマンス、使いやすさに注意してください。一般的に使用されるツールタイプには、オンラインツール、IDEプラグイン、コマンドラインツールが含まれます。

モバイルには、単純で直接無料のXMLからPDFツールはありません。必要なデータ視覚化プロセスには、複雑なデータの理解とレンダリングが含まれ、市場のいわゆる「無料」ツールのほとんどは経験がありません。コンピューター側のツールを使用したり、クラウドサービスを使用したり、アプリを開発してより信頼性の高い変換効果を取得することをお勧めします。

Mobile XMLからPDFへの速度は、次の要因に依存します。XML構造の複雑さです。モバイルハードウェア構成変換方法(ライブラリ、アルゴリズム)コードの品質最適化方法(効率的なライブラリ、アルゴリズムの最適化、キャッシュデータ、およびマルチスレッドの利用)。全体として、絶対的な答えはなく、特定の状況に従って最適化する必要があります。

単一のアプリケーションで携帯電話でXMLからPDF変換を直接完了することは不可能です。クラウドサービスを使用する必要があります。クラウドサービスは、2つのステップで達成できます。1。XMLをクラウド内のPDFに変換し、2。携帯電話の変換されたPDFファイルにアクセスまたはダウンロードします。
