pythonのファイル操作モードの詳細

12909 ワード

tモードに基づいてメモリ操作r(デフォルトの操作モード):読み取り専用モードで、ファイルにタイムズエラーが存在しない場合、ファイルが存在する場合、ファイルポインタが最初の位置にジャンプします.
with open ('ccc.txt',mode='rt',encoding='utf-8') as f:
	print('    '.center(50,'*'))
	res = f.read() #            
	print(res)

with open ('ccc.txt',mode='rt',encoding='utf-8') as f:
	print('    '.center(50,'*'))
	res1 = f.read() #            
	print(res1)

rモードのケース:
inp_username = input('your name:').strip
inp_password = input('your pwd:').strip
with open('user.txt',mode='rt',encoding='utf-8') as f:
	for line in f:
		username,password = line.strip().split(':')
		if inp_username == username and inp_password == password:
			print('login successful')
			break
	else:
		print('       ')
		

w書き込みモードのみ:ファイルが存在しない場合は空のファイルが作成され、ファイル村が空になり、ポインタが開始尾椎にある
with open('d.txt',mode='wt',enncoding='utf-8') as f:
	#f.read() #  ,   
	f.write('      
'
)

強調1:wモードでファイルを開き、閉じていない場合、連続して書き込み、書き下ろした内容は常に内容の後に続く
with open('d.txt',mode='wt',encoding='utf-8') as f:
	f.write('     1
'
) f.write(' 2
'
) f.write(' 3
'
)

強調2:再びwモードでファイルを開くと、ファイルの内容が空になります.
with open('d.txt',mode='wt',encoding='utf-8') as f:
	f.write('     1
'
) with open('d.txt',mode='wt',encoding='utf-8') as f: f.write(' 2
'
) with open('d.txt',mode='wt',encoding='utf-8') as f: f.write(' 3
'
)

ケース:wモードで新しいファイルを作成するためのcopyツール
src_file = input('     >>:').strip()
dst_file = input('     >>:').strip()
with open (r'{
     }.format(src_file),mode='rt',encoding='utf-8') as f1,\
open(r'{
     }'.format(dst_file),mode='wt',encoding='utf-8') as f2:
	res = f1.read()
	f2.write(res)

a:追加書きのみで、ファイルが存在しない場合は空のドキュメントが作成され、ドキュメントが存在する場合はファイルポインタが直接末尾に移動します
with open('e.txt',mode='at',encoding='utf-8) as f:
	#f.read() #  ,   
	f.write('     1
'
) f.write(' 2
'
) f.write(' 3
'
) f.write(' 14
'
)

強調:wモードとaモードの異同:同じ点:開いたファイルが閉じない場合、連続的に書き、新しく書いた内容はいつも前に書いた内容の後と異なる点:aモードでファイルを再開し、元のファイルの内容を空にすることなく、ファイルポインタを直接ファイルの末尾に移動する
aモードは、ログの記録、登録など、既存のファイルメモリに基づいて新しいコンテンツを書き込むために使用されます.
name = input ('your name:')
pwd = input('your pwd:')
with open ('db.txt'.mode = 'at',encoding='utf-8') as f:
	f.write('{
     }:{
     }
'.format(name,pwd)) # lili:123 egon:123 egon:123

理解+単独で使用できない、r,w,sに協力しなければならない
with open('g.txt',mode='w+t',encoding='utf-8') as f:
     f.write('111
'
) f.write('222
'
) f.write('333
'
) print('=====>',f.read()) with open('g.txt',mode='a+t',encoding='utf-8') as f: f.write('444
'
) f.write('555
'
) print(f.read())