ファイルの作成・削除・移動・コピー

 今はグラフィックス・ユーザー・インターフェース(GUI)が発達しているので、コマンドを使ってファイルの作成・削除・移動・コピーをやることはないと思いますが、.NET Frameworkを使ってやってみましょう。

 System.IOのFileクラスを使用する

 System.IOのFileクラスを使用してみます。インタラクティブシェルを使って動作を確認してみましょう。
 >>> from System.IO import File
 >>> fs = File.Create("c:\\test\\test.txt") ←FileSteamクラスが生成される。
 >>> File.Move("c:\\test\\test.txt","c:\\test.txt")
 Traceback (most recent call last):
 File "<stdin>", line 1, in <module>
 IOError: [Errno 32] ファイルが別のプロセスで使用されているため、プロセスは
 ファイルにアクセスできません。
 >>> fs.Close()
 >>> File.Move("c:\\test\\test.txt","c:\\test.txt")
 >>> File.Copy("c:\\test.txt","c:\\test\\test.txt")
 >>> File.Delete("c:\\test.txt")
 File.Createメゾットを実行するとFileStreamクラスが生成されます。FileStreamクラスをちゃんとCloseしないと、作成したファイルの他の作業が出来ません。これはWindowsで行うときと一緒ですね。

 System.IOのFileInfoクラスを使用する

 今度はSystem.IOのFileInfoクラスを使用してみます。Fileクラスでやったことと同じことをやってみましょう。
 >>> from System.IO import FileInfo
 >>> fi = FileInfo("c:\\test\\test.txt")
 >>> fs = fi.Create()
 >>> fi.MoveTo("c:\\test.txt")
 Traceback (most recent call last):
 File "<stdin>", line 1, in <module>
 IOError: [Errno 32] ファイルが別のプロセスで使用されているため、プロセスは
 ファイルにアクセスできません。
 >>> fs.Close()
 >>> fi.MoveTo("c:\\test.txt")
 >>> fi ←fiの示すオブジェクトが変更しているかの確認。
 <System.IO.FileInfo object at 0x000000000000002C [c:\test.txt]>
 >>> fi.CopyTo("c:\\test\\test.txt")
 <System.IO.FileInfo object at 0x000000000000002B [test.txt]>
 >>> fi.Delete()
 MoveToメゾットを実行した時点で、fiが示してるオブジェクトは"c:\\test.txt"に変更されています。従って、Deleteメゾットすると"c:\\test.txt"が削除されます。