2020-02-12

os - python

OSに依存する機能をサポートする。
まずはインポート。
import os

・フォルダ、ファイルのパスの操作

テスト用フォルダとファイルを用意。
C:\test_directory
test_file.txt


os.path.exists() でフォルダ、ファイルの存在を確認できる。
存在すれば True を、存在しなければ False を返す。
import os

strDirPath = r'C:\test_directory'    #パスには\が含まれるのでr' 'を使うとよい
strFilePath = r'C:\test_directory\test_file.txt'

print( os.path.exists( strDirPath ) )
print( os.path.exists( strFilePath ) )

strDirPath = r'C:\test_directory_2'

print( os.path.exists( strDirPath ) )

#出力
# True
# True

# False

os.path.basename() でパスからファイル名を、
os.path.dirname() でパスからフォルダ名を取得する。
import os

strFilePath = r'C:\test_directory\test_file.txt'

print( os.path.basename( strFilePath ) )
print( os.path.dirname( strFilePath ) )

#動作としては、一番右にある\の右と左を抜き出している
strA = r'1\2\3\4\5'
print( os.path.basename( strA ) )    #一番右の\の右
print( os.path.dirname( strA ) )    #一番右の\の左
print( os.path.dirname( os.path.dirname( strA ) ) )    #右から2番目の\の左

#出力
# test_file.txt
# C:\test_directory

# 5
# 1\2\3\4
# 1\2\3

・フォルダ名、ファイル名の変更

os.rename() でフォルダやファイルの名前を変更できる。
変更前、変更後の2つのパスを指定する。
import os

strFileBefore = r'C:\test_directory\test_file.txt'
strFileAfter = r'C:\test_directory\test_change_file.txt'

print( os.path.exists( strFileBefore ) )
print( os.path.exists( strFileAfter ) )

os.rename( strFileBefore, strFileAfter  )

print( os.path.exists( strFileBefore ) )
print( os.path.exists( strFileAfter ) )

#出力
# True
# False

# False
# True

ファイル名が変更された。


フォルダ名も同様。
import os

strDirBefore = r'C:\test_directory'
strDirAfter = r'C:\test_change_directory'

os.rename( strDirBefore , strDirAfter )

#出力




・フォルダ、ファイルの削除

os.remove() でファイルを、
os.rmdir() でフォルダを削除できる。
※フォルダの削除は 空のフォルダ のみ可能
 空でないフォルダを削除するには shutil モジュールを使う。
記事はこちら ⇒
import os

strDirPath = r'C:\test_change_directory'
strFilePath = r'C:\test_change_directory\test_change_file.txt'

print( os.path.exists(strFilePath) )
print( os.path.exists(strDirPath) )

os.rmdir( strDirPath )    #空でないフォルダはエラーになる

os.remove( strFilePath )    #ファイルを削除してから
os.rmdir( strDirPath )    #フォルダを削除

print( os.path.exists(strFilePath) )
print( os.path.exists(strDirPath) )

#出力
# True
# True

# OSError: [WinError 145] ディレクトリが空ではありません。: 'C:\\test_change_directory'

# False
# False

・フォルダの作成

os.mkdir() で新しいフォルダを作成できる。
新しいフォルダのパスを指定する。
import os

strDirPath = r'C:\test_new_directory'

print( os.path.exists(strDirPath) )

os.mkdir( strDirPath )

print( os.path.exists(strDirPath) )

#出力
# False
# True

0 件のコメント:

コメントを投稿