2017-12-25 6 views
1

パターンがyear.month.day.hour.minute.secondに一致する6つのピリオドで区切られた数字のグループを含む名前のテキストファイルが複数あります。複数のファイルの接尾辞を変更します

テキストファイルとして簡単に開くために、これらのファイルに接尾辞.txtを追加します。

私は成功せずos.renameてみました次のコードと私を試してみました:私は、これらのファイル名の末尾に.txtを追加することができますどのように

質問

を?

path = os.chdir('realpath') 

for f in os.listdir(): 

file_name = os.path.splitext(f) 
name = file_name +tuple(['.txt']) 
print(name) 

答えて

2

あなたのスクリプトには多くの問題があります。それを使用する前に、各メソッドのドキュメントをお読みください。ここではあなたの過ちの一部です:

  • os.chdir('realpath')は - あなたが本当にreapathディレクトリに移動しますか?
  • os.listdir(): - 引数が指定されていない場合は、パスをlistdirに入力する必要があります。
  • print(name) - 実際にファイルの名前を変更するのではなく、新しいファイル名を出力します。

ここでは、os.renameでそれらのファイルに.txtサフィックスを追加し、名前が現在のディレクトリにある数字の6グループ(自分のパターンyear.month.day.hour.minute.secondに相当)で作られているファイルを検索するために正規表現を使用するスクリプトであります

import os 
import re 
regex = re.compile("[0-9]+[.][0-9]+[.][0-9]+[.][0-9]+[.][0-9]+[.][0-9]+") 
for filename in os.listdir("."): 
    if regex.match(filename): 
     os.rename(filename, filename + ".txt") 
+0

これは私に答えとして – Itamar

+0

とマークする必要がありますもあなたの助言の世話をします、ありがとう。 FileNotFoundError:[Errno 2]そのようなファイルまたはディレクトリはありません: '2017.12.22.12.19.29。 - > '2017.12.22.12.19.29.txt'ディレクトリにファイルがありますが、何かが見つかりませんでした@RonanBoiteau – newpyguy

関連する問題