Открытие определенного пути к файлу, хранящемуся внутри сетевого подключения, при вызове QProcess (Pyside6)Python

Программы на Python
Anonymous
Открытие определенного пути к файлу, хранящемуся внутри сетевого подключения, при вызове QProcess (Pyside6)

Сообщение Anonymous »

Сценарий Python выполняется QProcess. Внутри этого скрипта должен быть открыт определенный файл и записан в него. Путь к файлу всегда должен быть \\127.0.0.1\folder\myfile.json.

Код: Выделить всё

def write_to_json(IP, slice_id, json_lines):
#IP = "127.0.0.1" (or any other network id as str)
#slice_id = 1
#json_lines: string

output_file = r"\\{}\hatches\slice{}.json".format(IP, slice_id)

subprocess.run(f"echo. >> {output_file}", shell=True)

with open(output_file, "a") as f:    #also tried w
for line in json_lines:
f.write(line + '\n')
Когда этот код выполняется в среде IDE, он работает нормально, и путь можно найти. При запуске с использованием QProcess файловая система добавляет случайные обратные косые черты, поэтому путь не может быть найден:

Код: Выделить всё

[Errno 2] No such file or directory: '\\\\127.0.0.1\\hatches\\slice1.json'
Кроме того, были опробованы другие подходы (кроме синтаксического анализа файла с использованием подпроцесса, поскольку длина каждой строки может превышать 48 тыс. элементов, что превышает максимальную длину включенного пути). длина в Windows. В противном случае анализ входных данных в файл работал бы с использованием подпроцесса):
  • передача пути как

    Код: Выделить всё

     output_file = r"{}\hatches\slice{}.json".format(IP, slice_id)
    
выход:

Код: Выделить всё

[Errno 2] No such file or directory: '127.0.0.1\\hatches\\slice1.json'
  • удаление обратной косой черты приводит к:

    Код: Выделить всё

     output_file.remove(r"\\","")
    
вывод:
[Errno 2] Не удалось подключиться к сети «127.0.0.1hatchesslice1.json»
Есть ли у кого-нибудь идеи, как решить эту проблему с обратной косой чертой? (Синакс изменить нельзя, так как в противном случае соединение будет невозможно.)

Подробнее здесь: https://stackoverflow.com/questions/782 ... alled-by-q

Вернуться в «Python»