Pythonを使用して、次のような値を含むファイル名の名前を変更しようとしています。 ~test1~test2~filename.csv
ファイルの名前をfilename.csvに変更したいと思います。チルダは最初の2つの単語の区切り文字であり、フィナーレファイル名にそれらの単語を含めたくありません。これらの単語は変数です。どんな援助もいただければ幸いです。ありがとう!
ファイル名ごとに単語が変わるため、パターンに一致するファイルをディレクトリで検索するのが最適です。glob
あなたのためにそれをします。
このようなディレクトリがある場合:
.
├── ~a~b~c.csv
├── file.csv
├── ~foo~bar~f1.csv
└── hello.txt
次に、これを実行します。
import os, glob
for f in glob.glob('~*~*~*.csv'):
os.rename(f,f.split('~')[-1])
あなたに与えるでしょう:
.
├── c.csv
├── f1.csv
├── file.csv
└── hello.txt
import os
myfilename = "~test1~test2~filename.csv"
for filename in os.listdir("."):
if filename == myfilename:
myfilename_new = myfilename.split("~")[-1]
os.rename(filename, myfilename_new)
~test1~test2~filename.csv
もちろん、元のファイルがこのpythonスクリプトが実行する「現在の/同じディレクトリ」に存在すると仮定します。
これがあなたの学習の旅に役立つことを願っています!
Pythonへようこそ!