Мой код в значительной степени запрашивает ввод пользователя и предварительно сделанный текст, который он печатает в.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)
Это довольно много печатает количество символов, как печать не в текстовый файл, как я этого хочу. Можно ли каким-либо образом отредактировать это, чтобы он печатал количество символов прямо в файл, а не как печать?
Прежде чем перейти к этому добавлению, взгляните на то, сколько мест, на которые вы звоните, 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
print(len_chars)
наfile.write(len_chars)
print()
предназначена для печати чего-либо на консоли. Если вы хотите записать в файл, вы можете использоватьf.write()
как в документации