擅长:python、mysql、java
<p>您有内部<code>while</code>循环,导致问题,它将多次使用相同的<code>filepath</code>,替换为<code>if</code>条件,如下所示:</p>
<pre><code>import os
name = 'test'
rootdir = r'C:\Users\kushal\Desktop\final_earthquake\demonstration_sikkim\wav\test'
for subdir, dirs, files in os.walk(rootdir):
y=1
for file in files:
filepath = subdir+os.sep +file
if filepath.endswith('.wav'):
split_dir = subdir.split(os.sep)
print split_dir
f_name, f_ext=(os.path.splitext(file))
new_1 = split_dir[7]
new_name= (new_1 +'_' + 'test_' + str(y).zfill(2) + f_ext)
y+=1
if y>3:
break
print (filepath)
print (subdir+os.sep+new_name)
os.rename(filepath, subdir+os.sep+new_name)
</code></pre>