ホームページ バックエンド開発 Python チュートリアル 赤いヘッダー ファイルを使わずに Lao Qi から Python を学ぶ (2)

赤いヘッダー ファイルを使わずに Lao Qi から Python を学ぶ (2)

Jun 16, 2016 am 08:41 AM

ファイル属性

いわゆる属性は、ファイル オブジェクトを通じて取得できるものです。

コードをコピー コードは次のとおりです:

>>> f = open("131.txt","a")
>>> f.name
'131.txt'
>>> f.mode #現在のファイルを開くモードを表示します
「あ」
>>> f.closed #ファイルが閉じられているかどうか、閉じられている場合は True を返し、開いている場合は False を返します。 誤り
>>> f.close() #ファイルを閉じるための組み込み関数
>>> f.閉店
本当です

ファイルの関連ステータス

多くの場合、ファイルの関連ステータス (属性と呼ばれることもありますが、ここでのファイル属性は上記のファイル属性とは異なりますが、ファイル ステータスと呼んだほうがよいと思います) を取得する必要があります。たとえば、作成などです。日付、アクセス日、変更日、サイズなど。 os モジュールには、この問題を解決できるメソッドがあります:

コードをコピー コードは次のとおりです:
>>> OS をインポート
>>> file_stat = os.stat("131.txt") #このファイルのステータスを表示します
>>>以下の内容から、英単語から推測できるものが多くあります。
posix.stat_result(st_mode=33204, st_ino=5772566L, st_dev=2049L, st_nlink=1, st_uid=1000, st_gid=1000, st_size=69L, st_atime=1407897031, st_mtime=1407734600, 1407734 600)
>>> file_stat.st_ctime 1407734600.0882277 #今度は別の方法で確認してください

>>> インポート時間 >>> time.localtime(file_stat.st_ctime) #今回ははっきりと見てみましょう。
time.struct_time(tm_year=2014, tm_mon=8, tm_mday=11, tm_hour=13, tm_min=23, tm_sec=20, tm_wday=0, tm_yday=223, tm_isdst=0)



ファイルのステータスとファイル属性に関する上記の内容は、ファイルの特定の側面を判断および操作するときに使用される場合があります。特にファイルのプロパティ。たとえば、ファイルを操作する場合、多くの場合、最初にファイルが閉じられたか開かれたかを判断する必要があり、その判断には file.closed 属性を使用する必要があります。

ファイルの組み込み関数

コードをコピー

コードは次のとおりです: >>> ディレクトリ(ファイル) ['__class__', '__delattr__', '__doc__', '__enter__', '__exit__', '__format__', '__getattribute__', '__hash__', '__init__', '__iter__', '__new__', '__reduce__', ' __reduce_ex__'、'__repr__'、'__setattr__'、'__sizeof__'、'__str__'、'__subclasshook__'、'close'、'closed'、'encoding'、'errors'、'fileno'、'flush'、'isatty' 、'mode'、'name'、'newlines'、'next'、'read'、'readinto'、'readline'、'readlines'、'seek'、'softspace'、'tell'、'truncate'、' write'、'writelines'、'xreadlines']
>>>



非常に多くの組み込み関数があるため、すべてを説明することはできません。そのため、主要な関数のみを試すことができます。

コードをコピー

コードは次のとおりです: >>> f = open("131.txt","r") >>> f.read()
「私の名前は qiwsir.n 私のウェブサイトは qiwsir.github.ion ああ、プログラムが好きです」
>>>



file.read() はファイルのすべての内容を読み取ることができます。これは文字列を返し、ファイルのすべての内容をメモリに読み取ることに特に注意してください。考えてみてください。コンテンツが多すぎると、少し悲惨ではないでしょうか?確かに、大きなファイルは決して読まないでください。

コードをコピー

コードは次のとおりです: >>>コンテンツ = f.read() >>> タイプ(続き)
<「str」と入力>



ファイルが比較的大きい場合は、一度にすべてを読み取るのではなく、readline を使用して 1 行ずつ読み取ります。

コードをコピー

コードは次のとおりです:

>>> f = open("131.txt","r")
>>> f.readline() #毎回 1 行を返し、ポインタを下に移動します
「私の名前はqiwsir.nです」
>>> f.readline() #もう一度読んで 1 行に戻ります
「私のウェブサイトは qiwsir.github.ion です」
>>> f.readline()
「ああ、私はプログラムが好きです」
>>> f.readline() #最後の行に到達しました。再度読み取ります。エラーは報告されず、空が返されます
''

この方法は遅すぎると思いますか?もっと楽しいことはありますか?はい、ナイフを振ってセルフゴングをしてください。セルフゴングなしでリードラインを使用することもできます。これは複数の数字であり、複数の行があることを意味します。

コードをコピー コードは次のとおりです:

>>> f = open("131.txt","r")
>>> = f.readlines()
>>>続き
['私の名前は qiwsir.n'、'私のウェブサイトは qiwsir.github.ion'、'ああ、プログラムが好きです']
>>> タイプ(続き)
<「リスト」と入力>
>>> 続きの行:
... 行を印刷
...
私の名前はqiwsirです。

私のウェブサイトは qiwsir.github.io です

ああ、私は番組が好きです

実験から、readlines と read は両方ともファイルの内容を一度に読み取ってメモリに保存するという点で同じであることがわかります。ただし、この 2 つの読み取りには str 型の違いもあります。 、readlines はリストを返し、1 行に 1 つの要素を返すため、for を介して行ごとに出力できます。

印刷行では、リスト内の各要素に注意してください。n で終わるため、印刷結果には空白行が含まれます。理由は以前紹介しましたので、忘れた方は前の講義までスクロールしてください

しかし、大きすぎるファイルをメモリに読み込む必要はないということを皆さんに思い出していただきたいと思います。大きなファイルの場合は、これを行うことをお勧めします:

コードをコピー コードは次のとおりです:

>>> f = open("131.txt","r")
>>>
<ファイル '131.txt'、モード 'r'、0xb757c230 を開きます>
>>> タイプ(f)
<「ファイル」と入力>
>>> f の行:
... 行を印刷
...
私の名前はqiwsirです。

私のウェブサイトは qiwsir.github.io です

ああ、私は番組が好きです

上記はすべて、ファイルを読み取るための組み込み関数とメソッドです。読むだけでなく書くこともあります。いわゆる書き込みとは、内容をファイルに保存することです。使用される組み込み関数は write です。ただし、ファイルに書き込む場合は、ファイルを開くモード (特定の状況に応じて w または a) にも注意する必要があります。

コードをコピー コードは次のとおりです:

>>> f = open("131.txt","a") #このファイルはすでに存在しており、クリアしたくないため、追加モードを使用します
>>> f.write("赤ちゃんがいます。") #この文はファイルの最後に置く必要があります
>F.close()そうして初めて、真に
を書くことができるのです

書き込み効果を見てください:

コードをコピー コードは次のとおりです:

>>> f = open("131.txt","r")
>>> f.readlines() の行:
... 行を印刷
...
私の名前はqiwsirです。

私のウェブサイトは qiwsir.github.io です

ああ、私は番組が好きです

赤ちゃんがいます。 #案の定、この行が追加されました


以上がファイルに対する基本的な操作です。実際、私はファイルについてあまり知りません。興味のある方は、非常に便利なツールである pickle モジュールをググってみてください。
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

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

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

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

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

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

LinuxターミナルでPythonバージョンを表示するときに発生する権限の問題を解決する方法は? LinuxターミナルでPythonバージョンを表示するときに発生する権限の問題を解決する方法は? Apr 01, 2025 pm 05:09 PM

LinuxターミナルでPythonバージョンを表示する際の許可の問題の解決策PythonターミナルでPythonバージョンを表示しようとするとき、Pythonを入力してください...

あるデータフレームの列全体を、Python内の異なる構造を持つ別のデータフレームに効率的にコピーする方法は? あるデータフレームの列全体を、Python内の異なる構造を持つ別のデータフレームに効率的にコピーする方法は? Apr 01, 2025 pm 11:15 PM

PythonのPandasライブラリを使用する場合、異なる構造を持つ2つのデータフレーム間で列全体をコピーする方法は一般的な問題です。 2つのデータがあるとします...

プロジェクトの基本と問題駆動型の方法で10時間以内にコンピューター初心者プログラミングの基本を教える方法は? プロジェクトの基本と問題駆動型の方法で10時間以内にコンピューター初心者プログラミングの基本を教える方法は? Apr 02, 2025 am 07:18 AM

10時間以内にコンピューター初心者プログラミングの基本を教える方法は?コンピューター初心者にプログラミングの知識を教えるのに10時間しかない場合、何を教えることを選びますか...

中間の読書にどこでもfiddlerを使用するときにブラウザによって検出されないようにするにはどうすればよいですか? 中間の読書にどこでもfiddlerを使用するときにブラウザによって検出されないようにするにはどうすればよいですか? Apr 02, 2025 am 07:15 AM

fiddlereveryversings for the-middleの測定値を使用するときに検出されないようにする方法

正規表現とは何ですか? 正規表現とは何ですか? Mar 20, 2025 pm 06:25 PM

正規表現は、プログラミングにおけるパターンマッチングとテキスト操作のための強力なツールであり、さまざまなアプリケーションにわたるテキスト処理の効率を高めます。

uvicornは、serving_forever()なしでhttpリクエストをどのように継続的に聞いていますか? uvicornは、serving_forever()なしでhttpリクエストをどのように継続的に聞いていますか? Apr 01, 2025 pm 10:51 PM

UvicornはどのようにしてHTTPリクエストを継続的に聞きますか? Uvicornは、ASGIに基づく軽量のWebサーバーです。そのコア機能の1つは、HTTPリクエストを聞いて続行することです...

人気のあるPythonライブラリとその用途は何ですか? 人気のあるPythonライブラリとその用途は何ですか? Mar 21, 2025 pm 06:46 PM

この記事では、numpy、pandas、matplotlib、scikit-learn、tensorflow、django、flask、and requestsなどの人気のあるPythonライブラリについて説明し、科学的コンピューティング、データ分析、視覚化、機械学習、Web開発、Hの使用について説明します。

文字列を介してオブジェクトを動的に作成し、Pythonでメソッドを呼び出す方法は? 文字列を介してオブジェクトを動的に作成し、Pythonでメソッドを呼び出す方法は? Apr 01, 2025 pm 11:18 PM

Pythonでは、文字列を介してオブジェクトを動的に作成し、そのメソッドを呼び出す方法は?これは一般的なプログラミング要件です。特に構成または実行する必要がある場合は...

See all articles