You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python代码可运行仅同步路径,无法生成KML文件求助

问题:代码仅完成路径同步,无法生成KML文件

我正在调试一段代码,目前代码可以运行,但仅完成路径同步操作,无法生成KML文件。我通过存储经纬度信息的.txt文件获取生成KML所需的数据,但始终无法成功生成KML文件。

以下是相关代码:

# Main Librarys
import simplekml
from dirsync import sync 
import re
from pathlib import Path
import os
import stat
from functools import reduce
import pandas as pd
import stem as stem
# Functions
def read_text_file(file_path):
    try:
        with open(file_path, 'r', encoding='latin1') as file:
            content = file.read()
            return content
    except Exception as e:
        print("Erro ao ler o arquivo", file_path, ":", e)
        return None

def find_query(pattern):
    path_queries = []
    matched_paths = []
    for file in Path(r'\\C:/Users/gabri/Desktop/BD_REFERENCE.py/Cliente/Gabs/documentos').rglob('*.txt'):
        path_queries.append(file.__str__())
        path_queries = os.chmod('C:/Users/gabri/Desktop/BD_REFERENCE.py/Cliente/Gabs/documentos', stat.S_IRWXU)
    for path in path_queries:
        if os.path.isdir(path):
            conds = [(i.lower() in str(path).lower()) for i in pattern]
            cond = reduce(lambda a, b: a and b, conds, True)
            if cond:
                print(path)
            try:
                with open(path, encoding="latin1") as file:
                    content = file.read()
                    conds = [(re.search(i, content, re.I)) for i in pattern]
                    if all(conds):
                        matched_paths.append(path)
                        print(path)
            except:
                print("Erro com o arquivo", path)
    return matched_paths
# Main
def main():
    pattern = [r"file\(case"]
    xml = find_query(pattern)

    desc = str
    long = float()
    lat = float()
    kml = simplekml.Kml()

    if xml is not None:
        for path in xml:
            try:
                with open(path, 'r') as file:
                    content = file.read()
                    desc = Path(path).stem
                    coords_match = re.search(r'(?i)longitude: (-?\d+\.\d+),\s*latitude: (-?\d+\.\d+)', content)
                    if coords_match:
                        long = float(coords_match.group(1))
                        lat = float(coords_match.group(2))
                        kml.newpoint(description=desc, coords=[(long, lat)])
            except Exception as e:
                print("Erro ao processar o arquivo", path, ":", e)
        kml.save('Teste.kml')
    else:
        print('Nenhum arquivo encontrado que corresponda ao padrão.')

    try:
        sync('C:/Users/gabri/Desktop/BD_REFERENCE.py/', 'C:/Users/gabri/Desktop/Teste_DB.py/', 'sync', purge=True)
        print("Diretório atualizado com sucesso!")
    except ValueError:
        print("Não foi possível encontrar a pasta Teste.")

if __name__ == "__main__":
    main()

我已经尝试补充目录信息、调整.txt文件的搜索模式等方法,但代码依旧仅完成路径同步,无法生成KML文件,恳请提供帮助。

内容的提问来源于stack exchange,提问作者Gabriel Fragali

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.12 01:12:10