PDA

Просмотр полной версии : Начал учить питон, крутые, помогите.


Shelok_Kholmes
28.11.2022, 09:54
Есть код, который берёт значение(x) из файла, после чего, сравнивает его с другим значением в коде(1), если оно верное - идёт дальше, и отображает это значение(x). Он не хочет работать, подскажите, почему?

Python:






import
keyboard
import
time
file
=
open
(
"first_config.txt"
,
"r"
)
x
=
str
(
file
.
read
(
)
)
if
x
==
1
:
print
(
x
)
file
.
close
(
)

AugustTN
28.11.2022, 10:00
я конечно тоже не эксперт, но насколько я понял - ты сравниваешь строку с числом.

Надо либо так

Python:






if
x
==
"1"
:
print
(
x
)




либо преобразуя переменную x в int формат(хз как на питоне)

NotFound
28.11.2022, 10:10
либо преобразуя переменную x в int формат(хз как на питоне)


x = int(x)

laiser
28.11.2022, 10:13
Человек выше правильно сказал, сравнивать цифры и строки - нельзя.

У тебя в файле "first_config.txt" находится одна строка с цифрой 1? Для конфига юзай лучше .ini файла или json, они удобнее для чтения в питоне

Shelok_Kholmes
28.11.2022, 21:32
Человек выше правильно сказал, сравнивать цифры и строки - нельзя.
У тебя в файле "first_config.txt" находится одна строка с цифрой 1? Для конфига юзай лучше .ini файла или json, они удобнее для чтения в питоне


Да, одна строка с цифрой 1. В чём разница использования .txt и .ini?

laiser
29.11.2022, 10:01
Да, одна строка с цифрой 1. В чём разница использования .txt и .ini?


в дальнейшем у тебя там будет не одна строка с цифрой "1", а целая куча строк. И что бы в код был более понятным и логичном используют .ini

Вот так будет выглядить:

Код:






config.get('settig', 'value1')
config.get('settig', 'value2')
config.get('settig', 'value3')