工業製造
産業用モノのインターネット | 工業材料 | 機器のメンテナンスと修理 | 産業プログラミング |
home  MfgRobots >> 工業製造 >  >> Industrial programming >> Python

Python - ファイル I/O

前のページ次のページ

この章では、Python で使用できるすべての基本的な I/O 関数について説明します。その他の機能については、標準の Python ドキュメントを参照してください。

画面への出力

出力を生成する最も簡単な方法は、print を使用することです。 コンマで区切られた 0 個以上の式を渡すことができるステートメント。この関数は、渡した式を文字列に変換し、結果を次のように標準出力に書き込みます −

ライブデモ
#!/usr/bin/python

print "Python is really a great language,", "isn't it?"

これにより、標準画面で次の結果が生成されます-

Python is really a great language, isn't it?

キーボード入力の読み取り

Python には、デフォルトでキーボードから入力される標準入力から 1 行のテキストを読み取るための 2 つの組み込み関数が用意されています。これらの関数は −

raw_input 機能

raw_input([prompt]) 関数は標準入力から 1 行を読み取り、それを文字列として返します (末尾の改行を削除します)。

#!/usr/bin/python

str = raw_input("Enter your input: ")
print "Received input is : ", str

これにより、任意の文字列を入力するように求められ、同じ文字列が画面に表示されます。 「Hello Python!」と入力すると、出力は次のようになります −

Enter your input: Hello Python
Received input is :  Hello Python

入力 機能

input([prompt]) function は raw_input と同等ですが、入力が有効な Python 式であると想定し、評価結果を返します。

#!/usr/bin/python

str = input("Enter your input: ")
print "Received input is : ", str

これにより、入力された入力に対して次の結果が生成されます-

Enter your input: [x*5 for x in range(2,10,2)]
Recieved input is :  [10, 20, 30, 40]

ファイルの開閉

これまでは、標準入出力に対して読み書きを行ってきました。次に、実際のデータ ファイルの使用方法を見ていきます。

Python は、ファイルを操作するために必要な基本的な関数とメソッドをデフォルトで提供します。 ファイルを使用して、ほとんどのファイル操作を行うことができます オブジェクト。

オープン 機能

ファイルを読み書きする前に、Python の組み込みの open() を使用してファイルを開く必要があります。 関数。この関数はファイルを作成します オブジェクトに関連付けられた他のサポート メソッドを呼び出すために使用されます。

構文

file object = open(file_name [, access_mode][, buffering])

ここにパラメータの詳細があります-

以下は、ファイルを開くさまざまなモードのリストです −

Sr.No. モードと説明
1

えー

ファイルを読み取り専用で開きます。ファイル ポインタは、ファイルの先頭に置かれます。これがデフォルトのモードです。

2

rb

バイナリ形式で読み取り専用のファイルを開きます。ファイル ポインタは、ファイルの先頭に置かれます。これがデフォルトのモードです。

3

r+

読み取りと書き込みの両方のためにファイルを開きます。ファイルの先頭に配置されたファイル ポインター。

4

rb+

バイナリ形式で読み取りと書き込みの両方のためにファイルを開きます。ファイルの先頭に配置されたファイル ポインター。

5

ファイルを書き込み専用に開きます。ファイルが存在する場合、ファイルを上書きします。ファイルが存在しない場合は、書き込み用に新しいファイルを作成します。

6

wb

バイナリ形式でのみ書き込み用にファイルを開きます。ファイルが存在する場合、ファイルを上書きします。ファイルが存在しない場合は、書き込み用に新しいファイルを作成します。

7

w+

書き込みと読み取りの両方のためにファイルを開きます。ファイルが存在する場合、既存のファイルを上書きします。ファイルが存在しない場合は、読み書き用に新しいファイルを作成します。

8

wb+

バイナリ形式で書き込みと読み取りの両方のためにファイルを開きます。ファイルが存在する場合、既存のファイルを上書きします。ファイルが存在しない場合は、読み書き用に新しいファイルを作成します。

9

a

追加するファイルを開きます。ファイルが存在する場合、ファイル ポインタはファイルの末尾にあります。つまり、ファイルは追加モードです。ファイルが存在しない場合は、書き込み用に新しいファイルを作成します。

10

ab

追加するファイルをバイナリ形式で開きます。ファイルが存在する場合、ファイル ポインタはファイルの末尾にあります。つまり、ファイルは追加モードです。ファイルが存在しない場合は、書き込み用に新しいファイルを作成します。

11

a+

追加と読み取りの両方のためにファイルを開きます。ファイルが存在する場合、ファイル ポインタはファイルの末尾にあります。ファイルが追加モードで開きます。ファイルが存在しない場合は、読み書き用に新しいファイルを作成します。

12

ab+

バイナリ形式での追加と読み取りの両方のためにファイルを開きます。ファイルが存在する場合、ファイル ポインタはファイルの末尾にあります。ファイルが追加モードで開きます。ファイルが存在しない場合は、読み書き用に新しいファイルを作成します。

ファイル オブジェクト属性

ファイルが開かれ、ファイルが 1 つになると、 そのファイルに関連するさまざまな情報を取得できます。

これは、ファイル オブジェクトに関連するすべての属性のリストです −

Sr.No. 属性と説明
1

file.closed

ファイルが閉じている場合は true、そうでない場合は false を返します。

2

ファイルモード

ファイルが開かれたアクセス モードを返します。

3

ファイル名

ファイルの名前を返します。

4

file.softspace

print でスペースが明示的に必要な場合は false を返し、それ以外の場合は true を返します。

ライブデモ
#!/usr/bin/python

# Open a file
fo = open("foo.txt", "wb")
print "Name of the file: ", fo.name
print "Closed or not : ", fo.closed
print "Opening mode : ", fo.mode
print "Softspace flag : ", fo.softspace

これにより、次の結果が生成されます-

Name of the file:  foo.txt
Closed or not :  False
Opening mode :  wb
Softspace flag :  0

close() 方法

ファイルの close() メソッド オブジェクトは、書き込まれていない情報をフラッシュし、ファイル オブジェクトを閉じます。その後、それ以上書き込みを行うことはできません。

ファイルの参照オブジェクトが別のファイルに再割り当てされると、Python はファイルを自動的に閉じます。 close() メソッドを使用してファイルを閉じることをお勧めします。

構文

fileObject.close()

ライブデモ
#!/usr/bin/python

# Open a file
fo = open("foo.txt", "wb")
print "Name of the file: ", fo.name

# Close opend file
fo.close()

これにより、次の結果が生成されます-

Name of the file:  foo.txt

ファイルの読み取りと書き込み

ファイル オブジェクトは、私たちの生活を楽にする一連のアクセス メソッドを提供します。 read() の使い方を見てみましょう および write() ファイルを読み書きするメソッド

write() 方法

write() メソッドは、開いているファイルに任意の文字列を書き込みます。 Python 文字列には、テキストだけでなくバイナリ データを含めることができることに注意してください。

write() メソッドは、文字列の末尾に改行文字 ('\n') を追加しません −

構文

fileObject.write(string)

ここで、渡されたパラメータは、開かれたファイルに書き込まれる内容です。

#!/usr/bin/python

# Open a file
fo = open("foo.txt", "wb")
fo.write( "Python is a great language.\nYeah its great!!\n")

# Close opend file
fo.close()

上記のメソッドは foo.txt を作成します ファイルに指定されたコンテンツを書き込み、最後にそのファイルを閉じます。このファイルを開くと、次の内容が含まれます。

Python is a great language.
Yeah its great!!

read() 方法

read() メソッドは、開いているファイルから文字列を読み取ります。 Python 文字列はバイナリ データを持つことができることに注意することが重要です。テキストデータとは別に。

構文

fileObject.read([count])

ここで、渡されたパラメータは、開いたファイルから読み取るバイト数です。このメソッドは、ファイルの先頭から読み取りを開始し、count の場合

ファイル foo.txt を見てみましょう 、上で作成しました。

#!/usr/bin/python

# Open a file
fo = open("foo.txt", "r+")
str = fo.read(10);
print "Read String is : ", str
# Close opend file
fo.close()

これにより、次の結果が生成されます-

Read String is :  Python is

ファイルの位置

tell() メソッドは、ファイル内の現在の位置を示します。つまり、次の読み取りまたは書き込みは、ファイルの先頭からそのバイト数で発生します。

seek(offset[, from]) メソッドは現在のファイル位置を変更します。 オフセット 引数は、移動するバイト数を示します。 から 引数は、バイトが移動される参照位置を指定します。

もしから 0 に設定すると、ファイルの先頭を参照位置として使用することを意味し、1 は現在の位置を参照位置として使用することを意味し、2 に設定するとファイルの末尾を参照位置として使用します。 /P>

ファイル foo.txt を取りましょう 、上で作成しました。

#!/usr/bin/python

# Open a file
fo = open("foo.txt", "r+")
str = fo.read(10)
print "Read String is : ", str

# Check current position
position = fo.tell()
print "Current file position : ", position

# Reposition pointer at the beginning once again
position = fo.seek(0, 0);
str = fo.read(10)
print "Again read String is : ", str
# Close opend file
fo.close()

これにより、次の結果が生成されます-

Read String is :  Python is
Current file position :  10
Again read String is :  Python is

ファイルの名前変更と削除

Python os モジュールは、ファイルの名前変更や削除などのファイル処理操作を実行するのに役立つメソッドを提供します。

このモジュールを使用するには、最初にインポートする必要があります。その後、関連する関数を呼び出すことができます。

rename() メソッド

rename() メソッドは、現在のファイル名と新しいファイル名の 2 つの引数を取ります。

構文

os.rename(current_file_name, new_file_name)

以下は、既存のファイル test1.txt の名前を変更する例です。 −

#!/usr/bin/python
import os

# Rename a file from test1.txt to test2.txt
os.rename( "test1.txt", "test2.txt" )

remove() 方法

remove() を使用できます 削除するファイルの名前を引数として指定してファイルを削除するメソッド。

構文

os.remove(file_name)

以下は、既存のファイル test2.txt を削除する例です。 −

#!/usr/bin/python
import os

# Delete file test2.txt
os.remove("text2.txt")

Python のディレクトリ

すべてのファイルはさまざまなディレクトリに含まれており、Python はこれらを問題なく処理できます。 OS モジュールには、ディレクトリの作成、削除、および変更に役立ついくつかのメソッドがあります。

mkdir() 方法

mkdir() を使用できます OS のメソッド モジュールを使用して、現在のディレクトリにディレクトリを作成します。このメソッドには、作成するディレクトリの名前を含む引数を指定する必要があります。

構文

os.mkdir("newdir")

以下は、ディレクトリ test を作成する例です 現在のディレクトリに −

#!/usr/bin/python
import os

# Create a directory "test"
os.mkdir("test")

chdir() 方法

chdir() を使用できます カレントディレクトリを変更するメソッド。 chdir() メソッドは引数を取ります。これは、現在のディレクトリにするディレクトリの名前です。

構文

os.chdir("newdir")

以下は、「/home/newdir」ディレクトリに移動する例です −

#!/usr/bin/python
import os

# Changing a directory to "/home/newdir"
os.chdir("/home/newdir")

getcwd() 方法

getcwd() メソッドは現在の作業ディレクトリを表示します。

構文

os.getcwd()

以下は、現在のディレクトリを与える例です-

#!/usr/bin/python
import os

# This would give location of the current directory
os.getcwd()

rmdir() 方法

rmdir() メソッドは、メソッドで引数として渡されるディレクトリを削除します。

ディレクトリを削除する前に、ディレクトリ内のすべてのコンテンツを削除する必要があります。

構文

os.rmdir('dirname')

以下は「/tmp/test」ディレクトリを削除する例です。ディレクトリの完全修飾名を指定する必要があります。指定しないと、現在のディレクトリでそのディレクトリが検索されます。

#!/usr/bin/python
import os

# This would  remove "/tmp/test"  directory.
os.rmdir( "/tmp/test"  )

ファイルとディレクトリ関連のメソッド

Windows および Unix オペレーティング システムでファイルとディレクトリを処理および操作するための幅広いユーティリティ メソッドを提供する 3 つの重要なソースがあります。それらは次のとおりです-


Python

  1. C 入力 出力 (I/O)
  2. Cファイルの取り扱い
  3. Python の入力、出力、およびインポート
  4. Python ファイル I/O
  5. Python ディレクトリおよびファイル管理
  6. Python ファイルが存在するかどうかを確認します。 Python でディレクトリが存在するかどうかを確認する方法
  7. C - ファイル I/O
  8. C - ヘッダー ファイル
  9. C++ ファイルとストリーム
  10. C# - ファイル I/O
  11. Mill ファイルとは?