私はプログラミングの初心者で、Python を独学で学ぶことにしました。数日後、私は小さな部分をコーディングすることにしました。私はかなり単純です:
- 今日の日付
- 私がいるページ (私は本を読んでいます)
- 私がどう感じるか
- 次に、ファイルにデータを追加します。プログラムを起動するたびに、ファイルに新しいデータ行が追加されます
- 次に、データを抽出してリストのリストを作成します。
真実は、リストをピクルしてからファイルをアンピクルするためにプログラムを書き直したかったということです。ただし、処理できないエラーに対処しているため、これを解決する方法を本当に知りたいです。したがって、あなたが私を助けてくれることを願っています:)
私は、この明らかに単純でばかげた問題について、過去数時間苦労してきました。私は解決策を見つけませんが。エラーとコードは次のとおりです。
エラー:
Traceback (most recent call last):
File "dailyshot.py", line 25, in <module>
SaveData(todaysline)
File "dailyshot.py", line 11, in SaveData
mon_pickler.dump(datatosave)
TypeError: must be str, not bytes
コード:
import pickle
import datetime
def SaveData(datatosave):
with open('journey.txt', 'wb') as thefile:
my_pickler = pickle.Pickler(thefile)
my_pickler.dump(datatosave)
thefile.close()
todaylist = []
today = datetime.date.today()
todaylist.append(today)
page = input('Page Number?\n')
feel = input('How do you feel?\n')
todaysline = today.strftime('%d, %b %Y') + "; " + page + "; " + feel + "\n"
print('Thanks and Good Bye!')
SaveData(todaysline)
print('let\'s make a list now...')
thefile = open('journey.txt','rb')
thelist = [line.split(';') for line in thefile.readlines()]
thefile.close()
print(thelist)
戦利品をありがとう!