>  기사  >  백엔드 개발  >  Python에서 파일 읽기 및 쓰기 작업

Python에서 파일 읽기 및 쓰기 작업

不言
不言원래의
2018-04-28 14:33:181693검색

이 글에서는 주로 Python에서 파일을 읽고 쓰는 작업과 파일에서 데이터를 읽는 작업 방법을 예제와 텍스트를 결합하여 자세히 소개합니다. 필요한 친구들은 참고할 수 있습니다.

파일에서 데이터 읽기

전체 파일 읽기

여기서는 현재 디렉토리에 'pi_digits.txt'라는 텍스트 파일이 있다고 가정하고, 그 안의 데이터는 다음과 같습니다. 다음:

3.1415926535
8979323846
2643383279


with open('pi_digits.txt') as f: # 默认模式为‘r',只读模式
  contents = f.read() # 读取文件全部内容
  print contents # 输出时在最后会多出一行(read()函数到达文件末会返回一个空字符,显示出空字符就是一个空行)
  print '------------'
  print contents.rstrip() # rstrip()函数用于删除字符串末的空白


3.1415926535
8979 323846
2643383279
----------------
3.1415926535
8979323846
2643383279

한 줄씩 읽기

은 데이터를 한 줄씩 읽는 반복을 통해 수행할 수 있습니다. 3846

2643383279

---- ------------


파일을 읽을 때 포인터가 읽은 위치를 기록하는 것과 같습니다. 데이터가 계속되면 포인터가 그 쪽을 가리킵니다. 읽으려면 이 위치에서 계속 읽으므로 위 코드의 두 번째 루프 출력은 비어 있습니다. 위 코드를 다음과 같이 약간 수정하세요.

with open('pi_digits.txt') as f:
  for line1 in f:
    print line1 # 每行末尾会有一个换行符
  print '------------'
  for line2 in f:
    print line2.rstrip() # 此时文件已经读完,line2指向文本末尾,因此不会有输出

3.1415926535

8979323846

2643383279

------------

3.141592653 5
8979323846

2643383279

위는 code 파일을 처음 읽은 후 닫았다가 읽기 위해 다시 여는 것과 같습니다. 다음과 같이 readline() 함수를 사용하여 한 줄씩 데이터를 읽을 수도 있습니다.

with open('pi_digits.txt') as f:
  for line1 in f:
    print line1
  print '------------'
with open('pi_digits.txt') as f: # 需要重新打开文本进行读取
  for line2 in f:
    print line2.rstrip() # 删除字符串末尾的空白




3.1415926535
8979323846

때때로 모든 데이터를 한 번에 읽고 별도로 저장하고 싶을 때가 있습니다. 후속 사용 작업은 물론 위 루프를 통해 달성할 수 있지만 Python은 더 간단한 readlines() 메서드를 제공합니다:


with open('pi_digits.txt') as f: 
  # readline()每一次读取一行数据,并指向该行末尾
  line1 = f.readline() # 读取第一行数据(此时已经指向第一行末尾)
  line2 = f.readline() # 从上一次读取末尾开始读取(第二行)
  print line1.rstrip()
  print line2.rstrip()


['3.1415926535n', '8979323846n', '2643383279n']
--- ---------

3.1415926535

8979323846

2643383279
------------

3.141592653589793238462643383279


파일에 데이터 쓰기



여러 가지가 있습니다 데이터 쓰기 모드 중 가장 일반적으로 사용되는 모드는 w', 'a'로, 각각 원본 데이터를 지운 뒤 다시 쓴다는 의미와 원본 데이터에 데이터를 쓰는 방식을 의미합니다.

with open('pi_digits.txt') as f: 
  lines = f.readlines() # 读取文本中所有内容,并保存在一个列表中,列表中每一个元素对应一行数据
print lines # 每一行数据都包含了换行符
print '------------'
for line in lines:
  print line.rstrip()  
print '------------'
pi_str = '' # 初始化为空字符
for line in lines:
  pi_str += line.rstrip() #字符串连接
print pi_str

여기서 시간이 지나면 현재 경로 'write_data.txt' 텍스트 파일 아래에 파일이 생성되고, 해당 파일에 다음과 같이 데이터가 작성됩니다.

저는 Meringue입니다.

저는 현재 NJTECH에서 공부하고 있습니다.


다음은 계속됩니다. 파일에 새 데이터를 추가하려면:


filename = 'write_data.txt'
with open(filename,'w') as f: # 如果filename不存在会自动创建, 'w'表示写数据,写之前会清空文件中的原有数据!
  f.write("I am Meringue.\n")
  f.write("I am now studying in NJTECH.\n")


현재 파일 내용은 다음과 같습니다.

저는 Meringue입니다.

저는 현재 NJTECH에서 공부하고 있습니다.

저는 기계 학습과 컴퓨터를 전공합니다 Vision.


관련 권장사항:

Python 사용법 matplotlib





에 의해 구현된 이미지 읽기, 자르기 및 자르기 기능의 예

위 내용은 Python에서 파일 읽기 및 쓰기 작업의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.