Вывести количество символов в файл Python

1

Мой код в значительной степени запрашивает ввод пользователя и предварительно сделанный текст, который он печатает в.txt файле. Я хочу добавить графический калькулятор для печати в файл, а не как печать. Является ли это возможным?

input = input(str("Type something: "))
file = open("harjoitus.txt", "w")
file.write(str("This code is here automatically.\n"))
file.write(str(input))
file.write(str("\n",))
file.close()

with open("harjoitus.txt", 'r') as file:
    text = file.read().strip().split()
    len_chars = sum(len(word) for word in text)
    print(len_chars)

Это довольно много печатает количество символов, как печать не в текстовый файл, как я этого хочу. Можно ли каким-либо образом отредактировать это, чтобы он печатал количество символов прямо в файл, а не как печать?

  • 2
    изменить print(len_chars) на file.write(len_chars)
  • 2
    Команда print() предназначена для печати чего-либо на консоли. Если вы хотите записать в файл, вы можете использовать f.write() как в документации
Показать ещё 8 комментариев
Теги:

1 ответ

1
Лучший ответ

Прежде чем перейти к этому добавлению, взгляните на то, сколько мест, на которые вы звоните, str() его ненужные большинство этих значений уже укушены и готовы к написанию. Также избегайте имен переменных, таких как input которые имеют предварительно назначенные цели в python. Но, чтобы добавить этот count до конца, collections.Counter вариант, вы должны открыть файл в a добавления. Затем вы можете добавить этот номер в конец вашего файла.

from collections import Counter

user = input("Type something: ")
with open('harjoitus.txt', 'w') as f:
    f.write("This code is here automatically.\n")
    f.write(user)
    f.write("\n")

with open('harjoitus.txt', 'r') as f:
    content = f.read()

c = Counter(content)
tot = sum(c.values())

with open('harjoitus.txt', 'a') as f:
    f.write(str(tot))
chrx@chrx:~/python/stackoverflow/10.11$ python3.7 stack.py 
Type something: vash
chrx@chrx:~/python/stackoverflow/10.11$ cat harjoitus.txt 
This code is here automatically.
vash
38
  • 0
    Большое спасибо. Это было для меня чем-то новым, поэтому я не знал, что делать. Спасибо за комментарий, я обязательно изучу это :)
  • 0
    @ Коппис нет проблем, рад помочь! Ура :)

Ещё вопросы

Сообщество Overcoder
Наверх
Меню