python_파일 열기 및 닫기

27361 단어
파일 대상 = open ('파일 이름', '사용 방식') rt: txt 파일 wt 읽기: txt 파일 하나만 열기 (이 파일이 없으면 새 파일 만들기) 는 원래 내용을 덮어씁니다.
1 try:
2     f = open('a.txt','wt')
3 except Exception as e:
4     print(e)

# 파일에 대한 쓰기 작업 # 함수: 파일 객체.write(s)에서 s는 파일에 쓸 문자열 {파일 대상이 필요할 때 쓸 수 있는 대상}
1 try:
2     fobj = open('anc.txt','wt')     #wt: /at 
3     fobj.write('
more
') # 4 fobj.close() 5 6 except Exception as err: 7 print(err) 8 9 # :anc , “[ ]more”

 
# 사례: 학생 정보 저장
 1 name = 'wanzi'
 2 gender = ' '
 3 age = 23
 4 try:
 5     f = open('students.txt','wt')
 6     while True:
 7         #s = Student(i)
 8         #if s:
 9         f.write("namegenderge")
10         ans = input("continue(Y/y):")
11         if ans != 'Y' and ans != 'y':
12             break
13         i = i+1
14     f.close()
15 
16 except Exception as e:
17     print(e)

 
# 파일 읽기 작업 파일 객체read(n)//모든 문자열 또는 n 바이트 문자를 반환합니다.
 1 def writeFile():    # 
 2     f = open('abc.txt','wt')
 3     f.write("Hello world
I am Code_boy
Mirror_
") #
4 f.close() 5 6 def readFile(): # 7 f = open('abc.txt','rt') 8 sread = f.read() # [ read(n) , n , ] 9 print(sread) # 10 f.close() 11 12 try: 13 writeFile() # 14 readFile() # , ( ) 15 except Exception as e: 16 print(e) 17 18 ''' 19 20 Hello world 21 I am Code_boy 22 Mirror_ 23 '''

 
# 파일 읽기 작업 파일 객체readline ()//문자열을 되돌려줍니다. (연속된 문자열을 읽거나 파일 끝에 끝납니다.)
 1 def writeFile():
 2     f = open('readline.txt','wt')
 3     f.write('Hello
world
') 4 f.close() 5 6 def readlineFile(): 7 f = open('readline.txt','rt') 8 sreadline = f.readline() # readline ( ) 9 print(sreadline,'len=',len(sreadline)) 10 sreadline = f.readline() 11 print(sreadline, 'len=', len(sreadline)) 12 sreadline = f.readline() 13 print(sreadline, 'len=', len(sreadline)) 14 15 f.close() 16 try: 17 writeFile() 18 readlineFile() 19 except Exception as e: 20 print(e) 21 22 23 Hello #readline : Hello
world readline ,
24 len= 6 # ‘Hello
’ >>>> 6 (
25 world len= 5 # 26 len= 0 # , len = 0

 
    # .readline () 는 순환하는 방식으로 모든 것을 읽을 수 있습니다. 보통 한 줄의 내용을 읽습니다. # 하지만!readlines () {'s'} 를 추가하면 모든 데이터를 직접 읽을 수 있습니다.
 1 def writeFile():
 2     f = open('readline.txt','wt')
 3     f.write('Hello
world
') 4 f.close() 5 6 def readlinesFile(): 7 f = open('readline.txt','rt') 8 sreadlines = f.readlines() # readlines ( ) list 9 # , (for) readlines() 10 for i in range(len(sreadlines)): #1 : for 11 print(sreadlines[i],end='') 12 13 print(sreadlines) # , '
'( ) #2 :
14 f.close() 15 16 try: 17 writeFile() 18 readlinesFile() 19 except Exception as error: 20 print(error) 21 ''' 22 1 : 23 Hello 24 world 25 2 : 26 ['Hello
', 'world'] #>>> readlinese() (list)
27 '''

 
# 파일의 학생 정보 읽기
 1 f = open('student1.txt','rt')
 2 while True:
 3 
 4     name = f.readline().strip('
')# *.strip()>> ( ) 。 5 if name == '': 6 break 7 gender = f.readline().strip('
') 8 age = f.readline().strip('
') 9 f.close() 10 print(name,gender,age)

# 파일 인코딩 #GBK 인코딩: 중국어 문자는 간체자와 번체 문자를 포함하고 각 문자는 간체 중국어 문자만 2바이트 #*UTF-8 인코딩을 저장할 수 있습니다. 전 세계에서 통용되는 인코딩(기본값) 한자는 3바이트 # 파일을 열 때 encoding 인자로 인코딩을 지정할 수 있습니다. 예를 들어 # f = open('x.txt','wt', encoding ='utf-8') # 파일 인코딩은 파일의 공간 크기를 직접 결정합니다.
# 사례: UTF-8 파일 인코딩
 1 def writeFile():
 2     f = open('utf.txt','wt',encoding = 'utf-8')
 3     f.write('Hello I am  ')
 4     f.close()
 5 
 6 def readFile():
 7     f = open('utf.txt','rt',encoding='utf-8')
 8     sreadlines = f.readlines()
 9     for i in sreadlines:
10         print(i)
11     f.close()
12 try:
13     writeFile()
14     readFile()
15 except Exception as error:
16     print(error)
17 
18 #  :   Hello I am  

 
# 파일 포인터(파일 끝 플래그: EOF)...파일 객체.tell () [정수를 되돌려주고 정수는 바늘의 위치]
 1 f = open('zz.txt','wt',encoding='utf-8')
 2 print(f.tell())     # :0
 3 f.write('abcdef  ')
 4 print(f.tell())     # :13
 5 f.close()
 6 f = open('zz.txt','rt',encoding='utf-8')
 7 f.tell()   # 
 8 s = f.read(3)
 9 print(s,f.tell())   # read 。 
10 f.close()
11 #
12 0
13 13
14 abc 3

 
# 포인터...파일 객체.seek(offset[, whence]) # offset: 시작하는 편이량은 편이가 필요한 바이트 수를 나타냅니다. # whence: [선택 가능] 기본값은'0'입니다. 오프셋 매개 변수에 정의를 주고 그 위치부터 편이를 시작합니다. 0: 파일 시작 1: 파일 현재 위치 2: 파일 끝 #--- 주의,'rt+wt+at+'열기만 바늘을 조정할 수 있습니다. 다른 열기 방식은 바늘 조작을 지원하지 않습니다.
 1 def writeFile():
 2     f = open('zz1.txt','wt+',encoding='utf-8')
 3     print(f.tell())         #  >>> 0
 4     f.write('123')          # 3 
 5     print(f.tell())         # ( ) 
 6     f.seek(2,0)             # 2 :1 2 . 3( )
 7     print(f.tell())         # >>>2
 8     f.write('abc')          # ‘abc’( ‘3’)
 9     print(f.tell())         # >>>5
10     f.close()

 
 1 def readFlie():
 2     f = open('zz1.txt','rt+',encoding='utf-8')
 3     r = f.read()
 4     print(r)
 5     f.close()
 6 
 7 writeFile()
 8 readFlie()
 9 #
10 0
11 3
12 2
13 5
14 12abc
15 '''

#이진 파일 #열기 방식: rbwb ab rb+wb+ ab+'실천 중 요약: 1'list 내용 쓰기 파일은str 포맷이 필요하며 목록 포맷 파일이 받아들여지지 않거나 (f.a) 포맷을 사용해야 한다.(사례 종합: 교재 관리 95-101행)
 
 
전재 대상:https://www.cnblogs.com/wangyuyang1016/p/10035186.html

좋은 웹페이지 즐겨찾기