前のモジュールでまとめた関数の一部は、ファイルとディレクトリに対する高度な操作をサポートしています。このセクションでは、これらの関数の使用方法を紹介します。
ファイルやディレクトリを使用するときは、常に名前変更操作と切り離すことができません。場合によっては、直接上書きを作成することもできますが、既存のファイルに大量の情報が保存されている場合は、 OSの名前変更操作を使用する必要があります。 os モジュールの.rename()メソッドを使用すると、Pycharm を使用する学生は、Pyacharm でファイルの名前を手動で変更するための名前も rename であることがわかります。プログラムでの名前変更の形式は次のとおりです。
os.rename(src,dst)
src は変更されたファイルまたはディレクトリの名前で、dst は新しい名前です。
次の例を見てください。
まずフォルダーを作成します。
importosprint(os.getcwd())#カレントディレクトリが不明な場合は、カレントディレクトリを先に出力します。 os.mkdir(r'C:UsersQingyanPycharmProjectsuntitled1teachnew')#この r に注目してください。t,n のような内容がある場合は、先頭に r を追加します。
次に、名前変更操作を実行します。
importosos.rename(r'C:UsersQingyanPycharmProjectsuntitled1teachnew',r'C:UsersQingyanPycharmProjectsuntitled1teachnewname')
名前を変更するときは、絶対パスを使用します。この方法は、ファイルの名前を変更する方法と同じで、前に「r」を追加することをお勧めします。ディレクトリの場合は、サフィックスに注意してください。
ファイルを削除するときは、os モジュールのos.remove()関数を使用します。その構文形式は次のとおりです。
os.remove(パス)
Path は、削除するファイルのパスです。相対パスまたは絶対パスを使用できます。削除する必要があるファイルが現在のパスにない場合は、絶対パスを使用します。作業ディレクトリにある場合、例外がスローされます。
以下のコードを見てください。
実行後:
絶対パスと相対パスを使用して現在のディレクトリ内の 2 つのファイルを削除しました。相対パスを使用して現在のディレクトリ以外のファイルを削除するとどうなるでしょうか。
コードは次のとおりです。
importosos.remove('tst.py')
実行結果:
Traceback(mostrecentcalllast):FileC:/Users/Qingyan/PycharmProjects/untitled1/teach/test.py,line2,in<module>os.remove('tst.py')FileNotFoundError:[WinError2]システムは指定されたドキュメントを見つけることができません。 :'tst.py'
したがって、ファイルを削除するときは絶対パスを使用することが最善です。
importosos.remove(r'C:UsersQingyanPycharmProjectsuntitled1venvtst.py')
多くの場合、プログラムを使用して、最終変更時刻やファイル サイズなど、現在のファイルに関する情報を取得する必要があります。
関連情報を取得するには、os モジュールの os.stat() メソッドを使用します。
例を通してこのメソッドを直接使用する方法を学びましょう。
importosfile=os.stat('test.py')print(os.path.abspath('test.py'))#アクセスパス先頭出力(file.st_dev)#デバイス番号出力(file.st_size)#ファイルサイズ出力(file.st_atime)#最終アクセス print(file.st_mtime)#最終更新時刻
出力は次のとおりです。
C:UsersQingyanPycharmProjectsuntitled1teachtest.py10109555972391580789484.6353131580789484.635313
ここまではファイルとディレクトリの関連操作についてでしたが、C 言語や C++ 言語、Java 言語を使用する場合でも、プロジェクトの開発はファイルとディレクトリの管理から切り離すことはできません。これらの基本を習得することがさらに重要になります。操作は今後の研究に大いに役立つでしょう。