我正在尝试将文件夹中的文件名写入到输出文件中,每行都有索引。我正在使用下面的代码来编写文件名:
import os
with open("bionaplsatfiles.dat", "w") as a:
for path, subdirs, files in os.walk(r'D:Bionapl_NicolastestKBvtu_filesoutput_Sn'):
for filename in files:
f = os.path.join(filename)
a.write(str(f) + os.linesep)
我得到的结果如下:
Sat_t0.txt
Sat_t1.txt
Sat_t2.txt
Sat_t3.txt
Sat_t4.txt
Sat_t5.txt
但我需要的是:
0 Sat_t0.txt
1 Sat_t1.txt
2 Sat_t2.txt
3 Sat_t3.txt
4 Sat_t4.txt
5 Sat_t5.txt
我应该向代码中添加什么才能获得索引列?谢谢
使用enumerate
:
import os
with open("bionaplsatfiles.dat", "w") as a:
for path, subdirs, files in os.walk(r'D:Bionapl_NicolastestKBvtu_filesoutput_Sn'):
for index, filename in enumerate(files): # FIX
f = os.path.join(filename)
a.write(str(f) + os.linesep)
请参阅官方文件。
您可以简单地使用计数器变量。代码可能看起来像这样:
import os
with open("bionaplsatfiles.dat", "w") as a:
count = 0
for path, subdirs, files in os.walk(r'D:Bionapl_NicolastestKBvtu_filesoutput_Sn'):
for filename in files:
f = os.path.join(filename)
a.write(f'{count} {str(f)}{os.linesep}')
count += 1