Ошибка при запуске сценария Python 2 под Python 3Python

Программы на Python
Ответить
Anonymous
 Ошибка при запуске сценария Python 2 под Python 3

Сообщение Anonymous »

Прежде всего, позвольте мне сказать, что это не мой сценарий. Мне нужно установить более старый пакет .deb. Очевидно, он использует Python 2, но в системе он устарел. Я исправил ряд очевидных проблем, таких как добавление круглых скобок в инструкции печати, но эта меня озадачила. Я не эксперт в Python.
Это сценарий до момента, когда он дает сбой. Мне это кажется простым, но я не понимаю, почему это не работает. Это распаковано из файла .deb.
rtc.py:

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

#!/usr/bin/python
import os;

def runCommand(command):
print (command);
r = os.popen(command);
info = r.readlines();
for line in info:
print (line);

def updateConfig():
filename = '/boot/config.txt';
key = 'dtoverlay';
value = 'i2c-rtc,pcf8563'
fr = open(filename,'rb');
try:
lines = fr.readlines();
update = 0;
newValue = '';
for line in lines :
if line and line.count(key) > 0:
В этот момент Python жалуется:

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

Failed to enable unit: Unit file embest-shutdown.service does not exist.
Failed to enable unit: Unit file embest.service does not exist.
Traceback (most recent call last):
File "/usr/share/PiDesktop/python/rtc.py", line 81, in 
updateConfig();
^^^^^^^^^^^^^^
File "/usr/share/PiDesktop/python/rtc.py", line 21, in updateConfig
if line and line.count(key) > 0:
^^^^^^^^^^^^^^^
TypeError: argument should be integer or bytes-like object, not 'str'
dpkg: error processing package pidesktop-base (--install):
installed pidesktop-base package post-installation script subprocess returned error exit status 1
Errors were encountered while processing:
pidesktop-base
Проблемы со служебными файлами могут быть ложными. Я рассмотрю их позже, если они сохранятся, но я не понимаю, почему line.count(key) является проблемой. Почему ключ не может быть объектом str?
Обратите внимание: я пытался установить утилиту 2to3, но pip жалуется, что это среда, управляемая извне
Это работает на Raspberry Pi под управлением ОС Raspberry Pi Bookworm.

Подробнее здесь: https://stackoverflow.com/questions/792 ... r-python-3
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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