前提・実現したいこと
テキストにデータを追加する(Add)、テキスト内のデータをリスト表示する(List)、テキスト内のデータを削除する(Delete)機能を作成しました。
データ削除機能で、指定した列番号のデータを削除することはできたのですが、テキスト内に「改行」が残ります。テキスト内データを全部消したとしても、改行が含まれるためテキストのデータサイズは0になりません。どうしたら改行まで消せますでしょうか?
気になること
コード内に以下の記載があります。ここの\nが原因なのかもしれませんが、テキストにデータを追記追加(Add)したときに改行を行いたいので、\nは消したくありません。
file = open("data.txt", "w") del mylist1[enterid] mylist3 = str("".join(mylist1) + "\n") #この\nが原因? file.write(mylist3)
該当のソースコード
python3
1import os 2import datetime 3path = "./data.txt" 4now = datetime.datetime.now() 5now = now.strftime("%A, %d. %B %Y %I:%M%p") 6 7 8keepAsking = True 9while keepAsking: 10 11 inputCheck = True 12 while inputCheck: 13 choice = input("Action: ") 14 15 if choice == "Add": 16 data1 = input("data1: ") 17 data2 = input("data2: ") 18 data3 = input("data3: ") 19 data4 = input("data4: ") 20 file = open("data.txt", "a") 21 file.write(data1 + ", " + data2 + ", " + data3 + ", " + data4 +", " + str(now) +"\n") 22 file.close() 23 24 elif choice == "List": 25 file = open("data.txt", "r") 26 for x, y in enumerate(file): 27 linebreak = y.strip() 28 comma = linebreak.split(",") 29 print(str(x+1) + ". " + comma[0] + " (" + comma[1] + ") - " + comma[2] + ", " + comma[3]) 30 print("Created date: " + comma[4] + ", " + comma[5]) 31 inputCheck = False 32 33 elif choice == "Delete": 34 idCheck = True 35 while idCheck: 36 enterid = input("ID: ") 37 enterid = int(enterid) - 1 38 file = open("data.txt", "r") 39 mylist1 = file.read().splitlines() 40 mylist2 = mylist1[enterid] 41 mylist2 = mylist2.strip() 42 mylist2 = mylist2.split(",") 43 print("You are about to delete " + mylist2[0] + "(" + mylist2[1] + ")") 44 file.close() 45 46 delete = input("Do you want to continue? ") 47 if delete == "Yes": 48 file = open("data.txt", "w") 49 del mylist1[enterid] 50 mylist3 = str("".join(mylist1) + "\n") #この\nが原因? 51 file.write(mylist3) 52 file.close() 53 idCheck = False 54 inputCheck = False 55 56 elif delete == "No": 57 idCheck = False 58 inputCheck = False 59 60print("END") 61 62
試したこと
strip()/rstrip()を使ってみましたがうまくいきませんでした。
補足情報(FW/ツールのバージョンなど)
python3.8.2
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/05/13 11:27