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

ファイル属性

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

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

>>> 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() >>> タイプ(続き)




ファイルが比較的大きい場合は、一度にすべてを読み取るのではなく、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")
>>>

>>> タイプ(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 までご連絡ください。
Pythonリストをどのようにスライスしますか?Pythonリストをどのようにスライスしますか?May 02, 2025 am 12:14 AM

slicingapythonlistisdoneusingtheyntaxlist [start:stop:step] .hore'showitworks:1)startisthe indexofthefirstelementtoinclude.2)spotisthe indexofthefirmenttoeexclude.3)staptistheincrementbetbetinelements

Numpyアレイで実行できる一般的な操作は何ですか?Numpyアレイで実行できる一般的な操作は何ですか?May 02, 2025 am 12:09 AM

numpyallows forvariousoperationsonarrays:1)basicarithmeticlikeaddition、減算、乗算、および分割; 2)AdvancedperationssuchasmatrixMultiplication;

Pythonを使用したデータ分析では、配列はどのように使用されていますか?Pythonを使用したデータ分析では、配列はどのように使用されていますか?May 02, 2025 am 12:09 AM

Arraysinpython、特にnumpyandpandas、aresentialfordataanalysis、offeringspeedandeficiency.1)numpyarraysenable numpyarraysenable handling forlaredatasents andcomplexoperationslikemoverages.2)Pandasextendsnumpy'scapabivitieswithdataframesfortruc

リストのメモリフットプリントは、Pythonの配列のメモリフットプリントとどのように比較されますか?リストのメモリフットプリントは、Pythonの配列のメモリフットプリントとどのように比較されますか?May 02, 2025 am 12:08 AM

listsandnumpyarraysinpythonhavedifferentmemoryfootprints:listsaremoreflexiblellessmemory-efficient、whileenumpyarraysaraysareoptimizedfornumericaldata.1)listsstorereferencesto objects、with whowedaround64byteson64-bitedatigu

実行可能なPythonスクリプトを展開するとき、環境固有の構成をどのように処理しますか?実行可能なPythonスクリプトを展開するとき、環境固有の構成をどのように処理しますか?May 02, 2025 am 12:07 AM

toensurepythonscriptsbehaveCorrectlyAcrossDevelosment、staging、and Production、usetheseStrategies:1)環境variablesforsimplestetings、2)configurationfilesforcomplexsetups、and3)dynamicloadingforadaptability.eachtododododododofersuniquebentandrequiresca

Pythonアレイをどのようにスライスしますか?Pythonアレイをどのようにスライスしますか?May 01, 2025 am 12:18 AM

Pythonリストスライスの基本的な構文はリストです[start:stop:step]。 1.STARTは最初の要素インデックス、2。ストップは除外された最初の要素インデックスであり、3.ステップは要素間のステップサイズを決定します。スライスは、データを抽出するためだけでなく、リストを変更および反転させるためにも使用されます。

どのような状況で、リストは配列よりもパフォーマンスが向上しますか?どのような状況で、リストは配列よりもパフォーマンスが向上しますか?May 01, 2025 am 12:06 AM

ListSoutPerformArraysIn:1)ダイナミシジョンアンドフレーケンティオン/削除、2)ストーリングヘテロゼンダタ、および3)メモリ効率の装飾、ButmayhaveslightPerformancostsinceNASOPERATIONS。

PythonアレイをPythonリストに変換するにはどうすればよいですか?PythonアレイをPythonリストに変換するにはどうすればよいですか?May 01, 2025 am 12:05 AM

toconvertapythonarraytoalist、usetheList()constructororageneratorexpression.1)importhearraymoduleandcreateanarray.2)useList(arr)または[xforxinarr] toconvertoalistは、largedatatessを変えることを伴うものです。

See all articles

ホット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衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

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

SublimeText3 Mac版

SublimeText3 Mac版

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

SecLists

SecLists

SecLists は、セキュリティ テスターの究極の相棒です。これは、セキュリティ評価中に頻繁に使用されるさまざまな種類のリストを 1 か所にまとめたものです。 SecLists は、セキュリティ テスターが必要とする可能性のあるすべてのリストを便利に提供することで、セキュリティ テストをより効率的かつ生産的にするのに役立ちます。リストの種類には、ユーザー名、パスワード、URL、ファジング ペイロード、機密データ パターン、Web シェルなどが含まれます。テスターはこのリポジトリを新しいテスト マシンにプルするだけで、必要なあらゆる種類のリストにアクセスできるようになります。

SublimeText3 中国語版

SublimeText3 中国語版

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

Dreamweaver Mac版

Dreamweaver Mac版

ビジュアル Web 開発ツール