擅长:python、mysql、java
<p>首先,可以将所有文件名保存在列表中,例如<code>file_list</code>:</p>
<pre><code>import subprocess
from subprocess import call
import os
working_directory = 'D:/dxf_files/'
file_list = [] # define file_list to save all dxf files
for subdir, dirs, files in os.walk(working_directory):
for file in files:
if file.endswith('.dxf'):
file_list.append(file) # save the filenames in file_list
</code></pre>
<p>然后,从<code>file_list</code>执行每个文件:</p>
<pre><code>def dxf2geojson(output_file, input_file):
command = ['ogr2ogr', '-f', 'GeoJSON', output_file, input_file]
p = subprocess.Popen(command, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
return p
for input_file in file_list:
f = input_file[:-4] # to omit .dxf
output_file = f + '.geojson' # add file extension .geojson
dxf2geojson(output_file, input_file)
</code></pre>