複数のファイルの名前を変更する方法


場合は、プログラムを一度に1つずつの手間をかけずにプログラムをPythonでファイルを変更する可能性があるだろうか?
これらの日、ウェブ開発者は、ダウンロード可能なコンテンツを大量に大量にダウンロードしたり、ダウンロードしたりすることにより、これらのダウンロード可能なコンテンツのタイトルがおかしくてやや長く見えるようになります.
それで、私はバイキング(私の大好きなシリーズのうちの1つ)のフルシーズン5をダウンロードしました.私は簡単に選択することができますので、私の電話でいくつかのエピソードを見ることができますので、タイトルを短縮する必要性を感じた.
私はエピソード番号が同様に変更されないような方法でそれをしなければならなかった.それで私の目的ははっきりしました.
  • は、タイトル
  • の長さを減らします
  • はファイル拡張子(. mp 4)
  • を保持します
  • は季節番号、シンボルとエピソード番号
  • を保持します
    それで、私はその時間とその後の時間を使用する単純な再利用可能な機能を思いつきました.それで、このポストでは、あなたと共有されるコードとモジュールを使用します.

    十分な物語!コードしましょう


    まず必要なモジュールをインポートします.
    import os
    from pprint import pprint
    
    はい、それです!ちょうど2つのモジュールは我々が必要とするすべてです、そして、我々は我々の機能を書きます.まずプリントアウトしましょう.意図したディレクトリにある
    def rename_all():
        path = input('Please enter your folder path')
        files = os.listdir(path)
        for file in files:
            if file.endswith('.mp4'):
                print(file)
    
    次のような出力が得られます.
    Vikings - S05E01 HD (TvShows4Mobile.Com).mp4
    Vikings - S05E03 HD (TvShows4Mobile.Com).mp4
    Vikings - S05E04 HD (TvShows4Mobile.Com).mp4
    Vikings - S05E09 HD (TvShows4Mobile.Com).mp4
    Vikings - S05E18 HD (TvShows4Mobile.Com).mp4
    Vikings - S05E19 HD (TvShows4Mobile.Com).mp4
    Vikings - S05E20 HD (TvShows4Mobile.Com).mp4
    Vikings - S05E17 HD (TvShows4Mobile.Com).mp4
    Vikings - S05E16 HD (TvShows4Mobile.Com).mp4
    Vikings - S05E15 HD (TvShows4Mobile.Com).mp4
    Vikings - S05E13 HD (TvShows4Mobile.Com).mp4
    Vikings - S05E14 HD (TvShows4Mobile.Com).mp4
    Vikings - S05E12 HD (TvShows4Mobile.Com).mp4
    Vikings - S05E11 HD (TvShows4Mobile.Com).mp4
    Vikings - S05E10 HD (TvShows4Mobile.Com).mp4
    Vikings - S05E08 HD (TvShows4Mobile.Com).mp4
    Vikings - S05E07 HD (TvShows4Mobile.Com).mp4
    Vikings - S05E06 HD (TvShows4Mobile.Com).mp4
    Vikings - S05E05 HD (TvShows4Mobile.Com).mp4
    
    
    この機能の目的によれば、私たちは「バイキング」と「(TVShows 4 Mobile . com)」を廃止し、拡張子と一緒に残りだけを残します.この動画はお気に入りから削除されています.MP 4 .
    それは、我々のプログラミングセンスが遊びに来るところです:
    まず、Pythonで名前を変更する方法を知る必要がありますが、このオプションではOSを使用します.rename ().次に、どのように我々は問題に実行せずにバルクでそれを行うことを確認しますか?
    OS以降.rename ()関数は、ソースと宛先の2つのパラメータをとります.次に、ソース内の絶対パスを入力し、目的のパラメータにパスをスライスします.
    # Rename multiple files in python
    import os
    from pprint import pprint
    
    def rename_all():
        path = input('Please enter your folder path')
        files = os.listdir(path)
        for file in files:
            if file.endswith('.mp4'):
                os.rename(path+file, path+file[10:19]+'.mp4')
        print('Done renaming')
        pprint(os.listdir(path))
    
    rename_all()
    
    
    この関数を実行した後、次のような出力が得られます.
    Done renaming
    ['S05E03 HD.mp4',
     'S05E04 HD.mp4',
     'S05E09 HD.mp4',
     'S05E18 HD.mp4',
     'S05E19 HD.mp4',
     'S05E20 HD.mp4',
     'S05E17 HD.mp4',
     'S05E16 HD.mp4',
     'S05E15 HD.mp4',
     'S05E13 HD.mp4',
     'S05E14 HD.mp4',
     'S05E12 HD.mp4',
     'S05E11 HD.mp4',
     'S05E10 HD.mp4',
     'S05E08 HD.mp4',
     'S05E07 HD.mp4',
     'S05E06 HD.mp4',
     'S05E05 HD.mp4',
     'S05E01 HD.mp4']
    
    
    それで、我々はスライスして、我々の拡張を加えて、良い順序で我々のファイルを印刷するために、pprintを使いました.一方、1が2と結合するので、エピソード2がありません.
    重要な注意:あなたのフォルダのパスを入力するときは、スラッシュ、前方またはそれ以外の(あなたのPCオペレーティングシステムによる)でそれを閉じてください、そうでなければエラーを取得します.
    あなたのスライスパターンや数字は、エピソードのタイトルの長さによって異なります.
    私はあなたがこのポストを楽しんだことを望みます、あなたはPythonでファイルを変える方法の1つを学びました.
    また、初心者の場合は、また、スライスのようないくつかの他のstuffsを学んだ推測している.Endswith , OS改名など
    質問がある場合は、コメントのセクションで私に尋ねることを躊躇しないでください.
    また、Pythonでファイルをリネームする方法に似たコードを見ることができます.