PDA

Просмотр полной версии : почему крашит?


Vespan
17.04.2021, 18:14
https://forum.antichat.xyz/attachments/27717411/img_d53b38fa8c.png

Python:






#без
with
open
(
'info'
,
"w"
)
:
config
.
write
(
'info'
)
#не крашит




https://forum.antichat.xyz/attachments/27717411/img_7a857d8bb0.png

clrn1w
17.04.2021, 18:36
Ругается на табуляцию, в idle видно, что пробелов 8 примерно. Походу у тебя в VS Code стоит 8 пробелов. Посмотри внизу в строке Spaces

И вообще кидай код не скринами

Vespan
17.04.2021, 18:50
Ругается на табуляцию, в idle видно, что пробелов 8 примерно. Походу у тебя в VS Code стоит 8 пробелов. Посмотри внизу в строке Spaces
И вообще кидай код не скринами



Python:






import
time
import
configparser
import
os

config
=
configparser
.
ConfigParser
(
)
def
createConfig
(
)
:
##########################config
"""
Create a config file
"""
config
.
add_section
(
"Login"
)
config
.
set
(
"Login"
,
"login"
,
''
)
config
.
set
(
"Login"
,
"password"
,
''
)
config
.
add_section
(
"Register"
)
config
.
set
(
"Register"
,
"login"
,
''
)
config
.
set
(
"Register"
,
"password"
,
''
)
with
open
(
'info'
,
"w"
)
as
config_file
:
config
.
write
(
config_file
)
########################
def
register
(
arg
)
:
if
arg
==
'ru'
:
login_input
=
input
(
'Введите логин: '
)
config
.
set
(
"Login"
,
"login"
,
'login_input'
)
with
open
(
'info'
,
"w"
)
:
################################################## #################
config
.
write
(
'info'
)
def
your_login_function
(
yes_no
)
:
if
yes_no
==
'да'
:
login_login_ru
=
input
(
'Хорошо,Введите ваш логин: '
)
elif
yes_no
==
'нет'
:
register
(
'ru'
)
elif
yes_no
==
'no'
:
register
(
'en'
)
if
not
os
.
path
.
exists
(
'info'
)
:
createConfig
(
)
language
=
input
(
'Язык?language?(en/ru):'
)
if
language
==
'en'
:
print
(
'English language delivered'
)
your_login
=
input
(
'Are you registered?'
)
elif
language
==
'ru'
:
print
(
'Русский язык поставлен'
)
your_login2
=
input
(
'Вы зарегистрированы?(да/нет): '
)
your_login_function
(
your_login2
)
else
:
print
(
'Ошибка,еще раз'
)
register_password_ru
=
input
(
'Пароль: '
)
register_password_en
=
input
(
'Password: '
)
register_login_ru
=
input
(
'Логин: '
)
register_login_en
=
input
(
'Login: '
)
login_login_ru
=
input
(
'Логин: '
)
login_login_en
=
input
(
'Login: '
)
login_password_ru
=
input
(
'Пароль: '
)
login_password_en
=
input
(
'Password: '
)
def
createConfig
(
path
)
:
"""
Create a config file
"""
config
=
configparser
.
ConfigParser
(
)
config
.
add_section
(
"Settings"
)
config
.
set
(
"login"
,
"1"
,
"2"
)
with
open
(
path
,
"w"
)
as
config_file
:
config
.
write
(
config_file
)

Vespan
17.04.2021, 18:50
я только учусь в python - и нужно на чем то практиковатся - вот такое делаю..

Vespan
17.04.2021, 19:27
Ругается на табуляцию, в idle видно, что пробелов 8 примерно. Походу у тебя в VS Code стоит 8 пробелов. Посмотри внизу в строке Spaces
И вообще кидай код не скринами


так что нужно сделать?

(у меня на TAB 4 пробела(sublime text))

clrn1w
17.04.2021, 21:11
Python:






import
time
import
configparser
import
os

config
=
configparser
.
ConfigParser
(
)
def
createConfig
(
)
:
"""
Create a config file
"""
config
.
add_section
(
"Login"
)
config
.
set
(
"Login"
,
"login"
,
''
)
config
.
set
(
"Login"
,
"password"
,
''
)
config
.
add_section
(
"Register"
)
config
.
set
(
"Register"
,
"login"
,
''
)
config
.
set
(
"Register"
,
"password"
,
''
)
with
open
(
'info'
,
"w"
)
as
config_file
:
config
.
write
(
config_file
)
def
register
(
arg
)
:
if
arg
==
'ru'
:
login_input
=
input
(
'Введите логин: '
)
config
.
set
(
"Login"
,
"login"
,
'login_input'
)
with
open
(
'info'
,
"w"
)
:
config
.
write
(
'info'
)
def
your_login_function
(
yes_no
)
:
if
yes_no
==
'да'
:
login_login_ru
=
input
(
'Хорошо,Введите ваш логин: '
)
elif
yes_no
==
'нет'
:
register
(
'ru'
)
elif
yes_no
==
'no'
:
register
(
'en'
)
if
not
os
.
path
.
exists
(
'info'
)
:
createConfig
(
)
language
=
input
(
'Язык?language?(en/ru):'
)
if
language
==
'en'
:
print
(
'English language delivered'
)
your_login
=
input
(
'Are you registered?'
)
elif
language
==
'ru'
:
print
(
'Русский язык поставлен'
)
your_login2
=
input
(
'Вы зарегистрированы?(да/нет): '
)
your_login_function
(
your_login2
)
else
:
print
(
'Ошибка,еще раз'
)
register_password_ru
=
input
(
'Пароль: '
)
register_password_en
=
input
(
'Password: '
)
register_login_ru
=
input
(
'Логин: '
)
register_login_en
=
input
(
'Login: '
)
login_login_ru
=
input
(
'Логин: '
)
login_login_en
=
input
(
'Login: '
)
login_password_ru
=
input
(
'Пароль: '
)
login_password_en
=
input
(
'Password: '
)
def
createConfig
(
path
)
:
"""
Create a config file
"""
config
=
configparser
.
ConfigParser
(
)
config
.
add_section
(
"Settings"
)
config
.
set
(
"login"
,
"1"
,
"2"
)
with
open
(
path
,
"w"
)
as
config_file
:
config
.
write
(
config_file
)

Vespan
17.04.2021, 21:25
Python:






import
time
import
configparser
import
os

config
=
configparser
.
ConfigParser
(
)
def
createConfig
(
)
:
"""
Create a config file
"""
config
.
add_section
(
"Login"
)
config
.
set
(
"Login"
,
"login"
,
''
)
config
.
set
(
"Login"
,
"password"
,
''
)
config
.
add_section
(
"Register"
)
config
.
set
(
"Register"
,
"login"
,
''
)
config
.
set
(
"Register"
,
"password"
,
''
)
with
open
(
'info'
,
"w"
)
as
config_file
:
config
.
write
(
config_file
)
def
register
(
arg
)
:
if
arg
==
'ru'
:
login_input
=
input
(
'Введите логин: '
)
config
.
set
(
"Login"
,
"login"
,
'login_input'
)
with
open
(
'info'
,
"w"
)
:
config
.
write
(
'info'
)
def
your_login_function
(
yes_no
)
:
if
yes_no
==
'да'
:
login_login_ru
=
input
(
'Хорошо,Введите ваш логин: '
)
elif
yes_no
==
'нет'
:
register
(
'ru'
)
elif
yes_no
==
'no'
:
register
(
'en'
)
if
not
os
.
path
.
exists
(
'info'
)
:
createConfig
(
)
language
=
input
(
'Язык?language?(en/ru):'
)
if
language
==
'en'
:
print
(
'English language delivered'
)
your_login
=
input
(
'Are you registered?'
)
elif
language
==
'ru'
:
print
(
'Русский язык поставлен'
)
your_login2
=
input
(
'Вы зарегистрированы?(да/нет): '
)
your_login_function
(
your_login2
)
else
:
print
(
'Ошибка,еще раз'
)
register_password_ru
=
input
(
'Пароль: '
)
register_password_en
=
input
(
'Password: '
)
register_login_ru
=
input
(
'Логин: '
)
register_login_en
=
input
(
'Login: '
)
login_login_ru
=
input
(
'Логин: '
)
login_login_en
=
input
(
'Login: '
)
login_password_ru
=
input
(
'Пароль: '
)
login_password_en
=
input
(
'Password: '
)
def
createConfig
(
path
)
:
"""
Create a config file
"""
config
=
configparser
.
ConfigParser
(
)
config
.
add_section
(
"Settings"
)
config
.
set
(
"login"
,
"1"
,
"2"
)
with
open
(
path
,
"w"
)
as
config_file
:
config
.
write
(
config_file
)






https://forum.antichat.xyz/attachments/27717612/img_9288553839.png

Python:






def
register
(
arg
)
:
if
arg
==
'ru'
:
login_input
=
input
(
'Введите логин: '
)
#config.read('info')
config
.
set
(
"Login"
,
"login"
,
login_input
)
with
open
(
'info.ini'
,
"w"
)
:
config
.
write
(
'info.ini'
)




Почему не работает?

clrn1w
17.04.2021, 21:56
Python:






def
register
(
arg
)
:
if
arg
==
'ru'
:
login_input
=
input
(
'Введите логин: '
)
#config.read('info')
config
.
set
(
"Login"
,
"login"
,
login_input
)
with
open
(
'info.ini'
,
"w"
)
:
config
.
write
(
'info.ini'
)




Почему не работает?


Говорит, что нету такой секции Login. Не работал с этой библиотекой, ничего сказать не могу

Vespan
17.04.2021, 22:02
Говорит, что нету такой секции Login. Не работал с этой библиотекой, ничего сказать не могу


а что посоветуешь - что то с конфигом/.ini

clrn1w
17.04.2021, 22:31
а что посоветуешь - что то с конфигом/.ini


использовать json

laiser
21.04.2021, 00:37
а что посоветуешь - что то с конфигом/.ini


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

Но если тебе нужно больше, то лучше json, не так удобно читать(для новеньких), но туда можно засунуть все

UPD:

Ссори, чет даже не посмотрел код...

Python:






import
configparser

config
=
configparser
.
ConfigParser
(
)
config
.
read
(
'setting.ini'
,
encoding
=
'utf-8'
)
# имя файла
CONF
=
config
[
'Setting'
]
bot
=
Bot
(
CONF
[
'token'
]
)
# 12345




Как выглядит файл setting.ini

Код:






[Setting]
token= 12345
admin_id = 123

clrn1w
21.04.2021, 09:05
Если тебе принципиально чтоб было .ini, то можешь использовать библиотеку configparser.Идеально подойдет для конфигов где будет храниться токены, настройки и т.п.
Но если тебе нужно больше, то лучше json, не так удобно читать(для новеньких), но туда можно засунуть все


Посмотри выше, он пытался ее использоваться

logan)
21.04.2021, 14:04
я только учусь в python - и нужно на чем то практиковатся - вот такое делаю..


Все же если ты учишься брать нужно задание по легче, где ты сможешь их разобрать и понять тему.