python.File読込
解決したいこと
https://qiita.com/tattyan3/questions/69399226a30e3e6dadcd
またまた、ご迷惑をおかけします。
特定の条件でファイル読込が終わってしまう。
value = ['1','','3'] のとき['1']で終わってしまう。
発生している問題・エラー
Errorはありません。
該当するソースコード
import os
import sys
import re
# ファイル名
data_file_name = 'my_test.txt'
# ファイルが存在するか確認
new_f=bool(0)
test_bol=bool(1)#test=1
my_list_in = []
def fail_new_f():
myx=1
if os.path.exists(data_file_name):
#fileがあれば読み込む
global new_f
global test_bol
global my_list_in
if new_f == bool(0) and myx==1:
print('in Line')
with open(data_file_name, 'r') as f:
line = f.readline()
print(line.rstrip("\n"),' 1st') #print? 1st print out
line = re.sub(r'\n', '', line)
while line:# and 'x04|$==True が欲しい
print('it test')
print(line.rstrip("\n"))
# line = line.rstrip("\n")
line = re.sub(r'\n', '', line)
my_list_in.append(line)
print(line,' inL')
line = f.readline()
line = re.sub(r'\n', '', line)
if new_f==bool(1):
with open(data_file_name, 'w') as f:
for item in my_list_in:
f.write(item + '\n')
new_f = bool(1)
else:
#fileがなければ作成
my_list_in = ['1', '2', '3', '4', '5']
with open(data_file_name, 'w') as f:
for item in my_list_in:
f.write(item + '\n')
print('white end')
if not os.path.exists(data_file_name):
new_f = bool(0)
fail_new_f() #makeed file?
new_f = bool(1)
print('my_read_list fail out')
else:
new_f = bool(0)
fail_new_f() #file?
new_f = bool(1)
print('my_read_list')
print(my_list_in) # new file?
if len(my_list_in) <= 6 and new_f == bool(1) and test_bol==bool(1):
print('my_read_list')
print(my_list_in)
my_list_in.append('6')
new_f = bool(1)
fail_new_f()
print(my_list_in)
exit()
自分で試したこと
while line and line != re.mach(r'[\x04]$',line) #[\x04] \x04|$
どうやらline = f.readline()内で\x04は消されているので意味がないのでは?と思い付きました。
したいことは、['1','','3','4','5','6']と出す事。
よろしくお願いいたします。
if new_f == bool(0) and myx==1:
print('in Line')
my_f_bol = bool(0)
with open(data_file_name, 'r') as f:
line = f.readline()
if line==re.match(r'[\n]',line):
print('it test')
my_f_bol = bool(1)
else:
my_f_bol = bool(0)
print(line.rstrip("\n"),' 1st') #print? 1st print out
line = re.sub(r'\n', '', line)
while line or my_f_bol==(1):# and 'x04|$==True が欲しい
print('it test')
print(line.rstrip("\n"))
# line = line.rstrip("\n")
line = re.sub(r'\n', '', line)
if my_f_bol==bool(1):
my_list_in.append('a')
print('a inL')
else:
my_list_in.append(line)
print(line,' inL')
line = f.readline()
if line==re.match(r'[\n]',line):
print('it test2')
my_f_bol = bool(1)
else:
my_f_bol = bool(0)
line = re.sub(r'\n', '', line)
n+=1
if n>10:
break
print('while end')
空なのか改行を取って空になったのか調べました。
0