0
私はその下にサブフォルダの親フォルダとカップルを持っている私がやろうとしていますどのようなサブフォルダ名を持つファイルを1つのレベルアップ
parent:
--subfolder1:
-----folderinsidesubfolder1:
-------file.tsv
--subfolder2:
-----folderinsidesubfolder2:
-------file.tsv
の名前を変更すると、その上のフォルダ名を1レベルでfile.tsvを変更で
from os import walk, path, rename
for dirpath, _, files in walk('pathto/parent'):
for f in files:
if f.endswith(".tsv"):
print rename(f, dirpath[-2]+ '.tsv')
エラー:
subfolder1、このparent:
--subfolder1:
-----folderinsidesubfolder1:
-------subfolder1.tsv
--subfolder2:
-----folderinsidesubfolder2:
-------subfolder2.tsv
コードのようなsubfolder2です
OSError: [Errno 2] No such file or directory
これは正しい方法ですか?
は 'dirpath'は単なる文字列では、'はos.pathそれを分割する必要があります。 split(dirpath)[ - 2] 'しかし、あなたはファイルのディレクトリで作業していないので、' pathpath/parent'に 'dirpath' +' new filename'を 'os.path.join()'する必要があります。 – AChampion
@AChampionこれって何? '(f、path.join(dirpath、(dirpath)[ - 2] + '.tsv'))'?私はこれでも同じエラーを取得しようとしました 'OSError:[Errno 2]そのようなファイルやディレクトリはありません ' – sbradbio