Загрузка...

Problem writing to file

Thread in Python created by MULTIPOTENTIAL Oct 3, 2020. 116 views

  1. MULTIPOTENTIAL
    MULTIPOTENTIAL Topic starter Oct 3, 2020 Banned 944 Nov 13, 2018
    Задача программы, превратить [1:2] в [2:1]

    Входные данные: [IMG]

    Ожидаемые выходные данные:[IMG]



    ЧТо мы получаем на самом деле: [IMG]


    Вот код:
    Code
    def changePlaces():

    FileWithBase = input("Для работы программы укажите файл с базой ---> ")


    base = open( FileWithBase + '.txt', 'r', encoding = "UTF-8")

    ReadLine = base.readline() # Чтение базы построчно

    LineAcc = ReadLine.rsplit(":", 1) # разделение на две части

    FirstVar = LineAcc[0]
    SecVar = LineAcc[1]

    base.close()

    NewBase = open("NewBase.txt", "a+", encoding = "UTF-8")

    NewBase.write(SecVar + ":" + FirstVar + "\n") # Запись в файл

    NewBase.close()

    pass


    do = input("Привет! \nДля работы программы выбери какая функция тебе нужна:\n1. [1:2] --> [2:1]\n2. mail:pass --> login:pass\nВыберите функцию: ")

    if (do == "1"):
    changePlaces()
    else:
    print("Недоступно на данный момент!")
    pass
     
  2. Decoy4298
    Decoy4298 Oct 3, 2020 217 Feb 18, 2020
    В конце строки строит символ новой строки, поэтому он вместе с паролем и переносится в начало текста, стрипни ReadLine через .strip() и всё.
     
  3. dedonosec
    dedonosec Oct 3, 2020 16 Dec 29, 2018
    ReadLine = base.read().split('\n')
    The post was merged to previous Oct 3, 2020
    потом уже делай для каждого разделение на две части, при переборе списка с акками
     
  4. Decoy4298
    Decoy4298 Oct 3, 2020 217 Feb 18, 2020
    Отрефакторил немножко и исправил косяк
    Python
    def changePlaces():
    basefile = input("Для работы программы укажите файл с базой ---> ")
    if not basefile.endswith('.txt'):
    basefile += '.txt'

    data = []

    with open(basefile, 'r', encoding='utf-8') as base:
    for line in base.readlines():
    login, password = line.strip().split(':', 1)
    data.append(f'{password}:{login}\n')

    with open(basefile.split('.')[0] + " (new).txt", "w", encoding='utf-8') as newbase:
    newbase.writelines(data)


    def main():
    action = input("Привет! \nДля работы программы выбери какая функция тебе нужна:\n1. [1:2] --> [2:1]\n2. mail:pass --> login:pass\nВыберите функцию: ")
    if action == "1":
    changePlaces()
    else:
    print("Недоступно на данный момент!")


    if __name__ == '__main__':
    main()
     
  5. dedonosec
    dedonosec Oct 3, 2020 16 Dec 29, 2018
    Code
    accounts = []
    with open('accs.txt', 'r', encoding="utf-8") as file:
    for i in file.read().split('\n'):
    accounts.append(i)
    for acc in accounts:
    login = acc.split(':')[0]
    password = acc.split(':')[1]
    print(login, password)
     
  6. MULTIPOTENTIAL
    MULTIPOTENTIAL Topic starter Oct 3, 2020 Banned 944 Nov 13, 2018
    Спасибо за Ответы!
     
Top
Loading...