我只是从列表中的最后一个文件中获取我想要的数据。我很欣赏这个程序工作得那么多,但我宁愿它能够处理文件夹中的所有文件。
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()
答案 0 :(得分:3)
循环reader
将包含最后打开的文件后,您将处理该单个文件。
修复缩进。
答案 1 :(得分:2)
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()
您可以缩进其余代码以将其放入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