我一直从列表中的最后一个文件中获取我想要的数据。我很欣赏这个程序的工作效率,但我更希望它能够处理文件夹中的所有文件。
import os
import glob
os.chdir('C:\Users\U2970\Documents\Arcgis\Text_files\Data_exports')
for file in list(glob.glob('*.txt')):
reader = open(file)
from EXPORT_COLUMN_SET import *
try:
data = column_set(reader)
data.start_data_printer()
finally:
reader.close()
Run Code Online (Sandbox Code Playgroud)
for 循环的范围定义了对每个文件执行的操作。for循环之后的所有事情都只完成一次:
import os
import glob
os.chdir('C:\Users\U2970\Documents\Arcgis\Text_files\Data_exports')
for file in list(glob.glob('*.txt')):
reader = open(file) # <-- Things done for each file
# Things done only once:
from EXPORT_COLUMN_SET import *
try:
data = column_set(reader)
data.start_data_printer()
finally:
reader.close()
Run Code Online (Sandbox Code Playgroud)
您可以缩进其余代码以将其放入 for 循环中:
import os
import glob
os.chdir('C:\Users\U2970\Documents\Arcgis\Text_files\Data_exports')
for file in list(glob.glob('*.txt')):
reader = open(file) # ^
# |
from EXPORT_COLUMN_SET import * # |
# | Things now done for each file
try: # |
data = column_set(reader) # |
data.start_data_printer() # |
finally: # |
reader.close() # v
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
29313 次 |
| 最近记录: |