文字列&ファイルとディレクトリファイル


1.テキストを文字列として保存



-エンコードとデコード

  • バイト:コンピュータのデフォルトの記憶単位
  • バイト(1 byte)が8ビット(8 bit)
  • 1バイトは、2の8乗、すなわち256個の固有値を記憶することができる.
  • エンコーディング(エンコーディング):文字列をバイト
  • に変換
  • 復号:バイト変換文字列
  • 2.正規表現


    -正規表現の開始

  • Python標準ライブラリreモジュールimportが利用可能です.
  • 正規表現の使い方は大きく2つに分けられます.
    1)文字列を検索するパターンを定義するには(Compile)
    2)定義されたパターンと一致する場合を検索し、複数の処理を行う手順
  • 1) Compile()

    #1단계 :  "the"라는 패턴을 컴파일한 후 패턴 객체를 리턴합니다. 
    pattern = re.compile("the")
    print(pattern)
    #2단계 : 컴파일된 패턴 객체를 활용하여 다른 텍스트에서 검색을 수행합니다.
    pt2 = pattern.findall('of the people, for the people, by the people')
    print(pt2)

    2)方法

  • 呼び出し可能なメソッドおよび属性は、以前にコンパイルされたオブジェクトを使用して理解される.
  • search():一致モードを検索(一致モードがある場合はMatchObjectを返す)
  • match():search()と似ていますが、最初のモードから検索ターゲットと一致する必要があります.
  • findall():すべての一致するモードを検索します(すべての一致するモードをリストに戻します)
  • split():パターンに分割
  • sub():置換マッチングモード
  • group():実際の結果に対応する文字列を返します.
  • # match, group을 활용해 'My' 찾기
    src = "My name is..."
    regex = re.match("My", src)
    print(regex)
    if regex:
        print(regex.group())
    else:
        print("No!")
        
    # 실행 결과
    <re.Match object; span=(0, 2), match='My'>
    My

    3)パターン:特殊文字、メタ文字


    アレイは正規表現を強化するツールです.特殊文字またはメタ文字と呼ばれる[] - . ? + {} / などを使用して、特殊なパターンを作成します.
    以下に、様々なパターンの例を示す.
  • [ ]:文字
  • -:範囲
  • .:1文字
  • ?:0回または1回繰り返す
  • *:0回以上繰り返す
  • +:1回以上繰り返し
  • {m, n} : m ~ n
  • \d:数字、[0-9]と同じ
  • \D:非数値[^0-9]と同じ
  • \w:アルファベット文字+数字+_,[a-zA-Z0-9_]と同じ
  • \W:非アルファベット文字+非数値、[^a-zA-Z0-9_]
  • と同じ
  • \s:スペース文字、[ \t\n\r\f\v]と同じ
  • \S:非スペース文字、[^ \t\n\r\f\v]と同じ
  • \b:単語境界
  • \B:非単語境界
  • \t:横ラベル(tab)
  • \v:垂直タブ(垂直タブ)
  • \f:フォームシード
  • \n:改行
  • \r:リターン文字(元の文字列)
  • 例1

    #- 전화번호(숫자, 기호)
    phonenumber = re.compile(r'(\d{3}-){2}\d{4}')
    phone = phonenumber.search('This is my phone number 010-111-1111')
    if phone:
      print(phone.group())
      
    # 실행 결과
    010-111-1111

    例2

    #- 이메일(알파벳, 숫자, 기호)
    text = "My e-mail adress is [email protected], and [email protected]"
    pattern = re.compile("[0-9a-zA-Z]+@[0-9a-z]+\.[0-9a-z]+")
    # 혹은 pattern = re.compile("\w+@\w+\.\w+") 이와 같이 작성해도 됩니다.
    pattern.findall(text)
    
    # 실행 결과
    ['[email protected]', '[email protected]']

    4)実施手順の制定

  • import re汎用モジュールのインポート
  • re.compile()関数を使用してregexオブジェクトを作成
  • 検索する文字列をregexオブジェクトに渡すsearch()findall()メソッド.
  • 3.ファイルとディレクトリファイル



    1.ファイル


    write, read code

    # write
    with open("hello.txt","w") as f:
    #- open(파일명, 파일모드)
    # read
    with open("hello.txt", "r") as f:
      print(f.read())

    ファイルに関するメソッド

  • f.read():ファイルの読み込み
  • f.readline():ファイルを行単位で読み込み
  • f.readlines():ファイル内のすべてのローを読み込み、リストに戻します.
  • f.write(str):ファイルを書き込みます.パラメータとして文字列タイプを受け入れます.
  • f.writeliness(str):ファイルにパラメータを1行書きます.
  • f.close():ファイルを閉じる
  • f.seek(offset):ファイルの場所(offset)を検索し、ファイル内のカーソルを移動します.ファイルの初期位置は0です.
  • f.tell():現在のカーソルの位置を返します.
  • 2.モジュールとパッケージ


    Pythonモジュールとパッケージの概念を整理する


  • モジュール(module):Pythonコードを含むファイル.py

  • パッケージ(package):機能的に同じまたは同じ結果のモジュールのセットまたはフォルダを作成します.常にライブラリと呼ばれています

  • ライブラリ:モジュールとパッケージの集合.また、パッケージよりも包括的な概念やパッケージと混合して使用されます.
  • n.関数

  • sys.path:現在のフォルダとPythonモジュールの格納場所をリスト形式で返す
  • sys.path.append():append関数を使用して作成したモジュールのパスを追加します.その後、追加したディレクトリにPythonモジュールを読み込み、使用できます.
  • os.chdir():ディレクトリ位置の変更
  • os.getcwd():現在のディレクトリの場所を返します(現在の作業ディレクトリを取得します)
  • os.mkdir():ディレクトリの作成
  • os.rmdir():ディレクトリを削除(ただし、ディレクトリが空の場合)
  • glob.glob():パス内のディレクトリまたはファイルをリスト形式で返す
  • os.path.join():マージパス(path)による新規パスの作成
  • os.listdir():ディレクトリ内のファイルとサブディレクトリをリスト形式で返す
  • os.path.exists():ファイルまたはディレクトリのパスが存在するかどうかを確認
  • os.path.isfile():ファイルパスが存在するかどうかを確認
  • os.path.isdir():ディレクトリパスが存在するかどうかを確認
  • os.path.getsize():ファイルサイズの確認