Найти - Пользователи
Полная версия: Замена символов в нетекстовых файлах.
Начало » Python для новичков » Замена символов в нетекстовых файлах.
1 2 3 4
GaiveR
dnstuff,

Например:
a = b"a"
b = b"b"
b"abcd".replace(a, b)
dnstuff
GaiveR
dnstuff,Например:
В явном виде заменяемые символы вообще нигде не фигурируют.
Они вот так определяются: a='ABC'+str(hex(i+80))
py.user.next
>>> 'abcd'.encode('latin1')
b'abcd'
>>>
dnstuff
py.user.next
Не понял. У Вас же одни строки, а не переменные.
dnstuff

py.user.next, Вы не могли бы прокомментировать Ваш код? Я не в состоянии разобраться, как он может решить проблему. Заранее спасибо!
odnochlen
dnstuff, если у тебя тройка (что надо было сказать в первом посте), то str - это юникодовая строка. Тебе нужно везде в коде использовать bytes() и b''.

666 постов.
dnstuff
odnochlen
dnstuff, если у тебя тройка (что надо было сказать в первом посте), то str - это юникодовая строка. Тебе нужно везде в коде использовать bytes() и b''.666 постов.
bytes() вместо str?
odnochlen
Например.
dnstuff
Вот весь код:
import re
import glob
state = input("State: ")
code=input("Code: ")
state_path="C:/"+state+"/Setup/Sourse/*.img"
file_list = glob.glob(state_path)
i=0
for file in file_list:
	file_name=str(code)+str(i).rjust(4, '0')
	id='I04C72'+ str(hex(i+80)[2:])
	output_file = open(file_name,"wb")
	data = open(file, "rb").read()
	output_file.write( re.sub(id, file_name, data)  )
	output_file.close()
	i=i+1
Проблема в том, как указать питону, что в строке output_file.write( re.sub(id, file_name, data) ) переменные id и file_name надо обрабатывать как бинарные.
Очевидно, что замена str() на bytes() сделает код заведомо нерабочим.
odnochlen
dnstuff
file_name=str(code)+str(i).rjust(4, ‘0’)
А это что?

“Обрабатывать как” значит сконвертировать, что тебе предложил py.user.next. Но еще лучше сразу получать bytes.
state = input("State: ")
state_path="C:/"+state+"/Setup/Sourse/*.img"
Более чем странный код, но слава богу, ты этот путь не создаешь.

И re.sub реагирует на спецсимволы, ты в курсе?
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB