파이썬으로 - 입력 및 출력

때때로 프로그램은 사용자와 상호 작용해야합니다. 예를 들어, 사용자 입력의 내용을 얻고 싶은 것, 사용자에 의해 반환 된 결과의 일부를 인쇄 할 수 있습니다. 우리는 각각 수있는 input()기능과 print요구 기능을 수행 할 수 있습니다.

입력의 경우, 우리는 또한 사용할 수있는 str다양한 방법 (문자열, 문자열) 클래스를. 예를 들어, 사용 rjust의 폭을 얻는 방법을 오른쪽 정렬 지정된 문자열. 당신은 볼 수 있습니다 help(str)자세한 내용은.

입출력 파일의 또 다른 일반적인 타입들이 처리된다. 만들기는 기능에 필수적인 대부분의 프로그램에서 읽기 및 쓰기 파일, 우리는이 장에서이 부분을 모색 할 것입니다.

1. 사용자 입력

다음의 프로그램은 저장 io_input.py:

def reverse(text):
    return text[::-1]


def is_palindrome(text):
    return text == reverse(text)


something = input("Enter text: ")
if is_palindrome(something):
    print("Yes, it is a palindrome")
else:
    print("No, it is not a palindrome")

출력 :

$ python3 io_input.py
Enter text: sir
No, it is not a palindrome

$ python3 io_input.py
Enter text: madam
Yes, it is a palindrome

$ python3 io_input.py
Enter text: racecar
Yes, it is a palindrome

우리는 슬라이스 기능 플립 텍스트를 사용합니다. 우리는 이미 우리가 사용할 수 있습니다 알고있는 seq[a:b]위치에서 a위치에 시작 b에 끝 슬라이스 순서 . 우리는 또한 슬라이스 결정하는 세 번째 매개 변수 제공 할 수있는 단계 (단계)를 . 기본 단계는 1이 연속 텍스트를 반환합니다. 같은 음의 단계를 감안할 때 -1텍스트를 반환 플립.

input()함수는 인수로 문자열을 취할 수 있고, 사용자에게 표시합니다. 나중에는 사용자 입력 또는 리턴 키를 치는 기다립니다. 사용자 입력 뭔가 Qiaoxia 리턴 키를 한 번, input()함수는 사용자가 입력 한 텍스트를 반환합니다.

우리는 텍스트와 플립을 얻을. 원문 본 것과 같은 역방향의 문자를, 그 텍스트가 있다고 판정 된 경우 회문 .

+ 운동

텍스트는 문장 부호, 공간과 그 사건을 무시하도록 회문 필요의 일부인지 여부를 확인하십시오. 예를 들어, "투표에 선생님 상승."회문 텍스트의 한 부분이지만, 현재의 프로그램은 그렇게 생각하지 않습니다. 이 회문이 수행 할 수 있습니다를 인식 할 수 위의 프로그램을 향상시킬 수 있습니까?

당신은 몇 가지 팁이 필요하면 여기에 당신은 아이디어가 ......

2. 파일

당신의 일부 만들 수 file와 그 개체 클래스의 적절한 사용 read, readline, write개방에 대한 방법을하거나 파일을 사용하고 읽거나 쓰기. 파일을 읽거나 쓸 수있는 기능은 사용자가 파일을 열 지정하는 방식에 따라 달라집니다. 당신이 파일을 완료 할 때 마지막으로, 당신은 호출 할 수 있습니다 close우리는 파일의 사용을 완료 한 파이썬을 알려줄 방법.

케이스 (다른 이름으로 저장 io_using_file.py) :

poem = '''\
Programming is fun
When the work is done
if you wanna make your work also fun:
    use Python!
'''

# 打开文件以编辑('w'riting)
f = open('poem.txt', 'w')
# 向文件中编写文本
f.write(poem)
# 关闭文件
f.close()

# 如果没有特别指定,
# 将假定启用默认的阅读('r'ead)模式
f = open('poem.txt')
while True:
    line = f.readline()
    # 零长度指示 EOF
    if len(line) == 0:
        break
    # 每行(`line`)的末尾
    # 都已经有了换行符
    #因为它是从一个文件中进行读取的
    print(line, end='')
# 关闭文件
f.close()

출력 :

$ python3 io_using_file.py
Programming is fun
When the work is done
if you wanna make your work also fun:
    use Python!

첫째, 우리는 내장에 사용하는 open기능을하고 파일 이름을 지정하고, 우리는 파일 열기 모드를 여는 데 사용할. 열기 모드 읽기 모드 일 수있다 'r'(), 쓰기 모드 ( 'w') 및 추가 모드를 'a'(). 우리는 또한 텍스트 모드 (에 의해로 선택할 수 있습니다 't') 또는 바이너리 모드 ( 'b'읽을), 쓰기 또는 APPEND 텍스트입니다. 사실 다른 많은 모드를 사용할 수 있습니다 거기에 help(open)당신이 그들에 대해 더 자세한 정보를 제공 할 것입니다. 기본적으로, open()그것은 텍스트 파일 (로 처리됩니다 t의 (EXT) 파일 및 읽기 r은 이 EAD 열) 모드.

우리의 경우, 우리는 먼저 쓰기 모드를 사용하여 파일을 열고 파일 객체의 사용 write을 통해 마지막으로 파일에 쓸 방법을하고 close파일을 닫습니다.

다음으로, 우리는 읽기 모드에서 동일한 파일을 다시 엽니 다. 우리는로 지정된 패턴을하지 않아도 기본이다 "텍스트 파일 읽기". 우리는 루프에 사용되는 readline파일 방법의 각 라인을 읽을 수 있습니다. 이 방법은 라인의 끝에도 줄 바꿈이 포함 된 일련의 행을 완료합니다. 빈 문자열이 반환 될 때, 우리는 파일의 끝에 도달하고 통해 것을 의미 break루프를 종료합니다.
마지막으로, 우리는 close파일을 닫습니다.

이제, 당신은 확인할 수 있습니다 poem.txt프로그램을 확인하기 위해 파일의 내용은 쓰기 및 읽기 작업이 파일을 수행합니다.

3. 피클

호출 파이썬은 제공 Pickle하는 당신이 할 수있는을 통해 표준 모듈, 어떤에서 이를 검색 할 수있는 파일로 저장 순수 파이썬 객체와 이상을. 이것은 * 영구적으로 (영구적으로) * 저장 개체라고합니다.

케이스 (다른 이름으로 저장 io_pickle.py) :

import pickle

# 我们存储相关对象的文件的名称
shoplistfile = 'shoplist.data'
# 需要购买的物品清单
shoplist = ['apple', 'mango', 'carrot']

# 准备写入文件
f = open(shoplistfile, 'wb')
# 转储对象至文件
pickle.dump(shoplist, f)
f.close()

# 清除 shoplist 变量
del shoplist

# 重新打开存储文件
f = open(shoplistfile, 'rb')
# 从文件中载入对象
storedlist = pickle.load(f)
print(storedlist)

출력 :

$ python io_pickle.py
['apple', 'mango', 'carrot']

파일에서 개체를 저장하려면, 우리는 먼저 필요 open쓰기에 ( w 라이트) 이진 ( B inary) 모드는 파일을 열고 호출하는 pickle모듈의 dump기능을. 이 과정은이라고 캡슐화 (산세) .

다음으로, 우리는 합격 pickle모듈 load리턴 된 객체 함수를 수신한다. 이 과정은이라고 풀고 (unpickling) .

4. 유니 코드

우리가 작성하거나 문자열을 사용하면 지금까지, 우리는 일반 영어 문자를 사용하여 파일을 읽거나 쓰기.

참고 : 파이썬 2를 사용하는 경우, 우리가 읽고 다른 영어 이외의 언어를 쓸 수 있도록 노력하겠습니다, 우리는 사용할 필요가 unicode유형을 모든 문자 u예를 들어 처음에, u"hello world".

>>> "hello world"
'hello world'
>>> type("hello world")
<class 'str'>
>>> u"hello world"
'hello world'
>>> type(u"hello world")
<class 'str'>

우리는 읽거나 파일을 작성하거나 우리는 인터넷에있는 다른 컴퓨터 동안 의사 소통을 할 때 우리는 우리의 필요로 할 때 Unicode문자열이 "UTF-8"이라고 전송 및 수신 형식으로 변환 할 수 있습니다. 우리는 읽을 수있는이 형식의 쓰기, 그냥 우리의 표준에 간단한 키워드 인수를 사용 open기능 :

# encoding=utf-8
import io

f = io.open("abc.txt", "wt", encoding="utf-8")
f.write(u"Imagine non-English language here")
f.close()

text = io.open("abc.txt", encoding="utf-8").read()
print(text)

이제 무시할 수 import에서 우리가 될 것입니다, 문 장에서는 모듈 의 장에 대한 자세한 내용을 탐험.

우리는 유니 코드 리터럴은 위의 프로그램을 작성 같은 발언 사용할 때마다, 우리는 우리가 그래서 파이썬 프로그램은, 우리가 UTF-8을 사용하고 있다고 말했다되어 있는지 확인해야합니다 # encoding=utf-8우리의 프로그램의 상단에 배치 코멘트.

우리는 사용 io.open하고 우리가 유니 코드를 사용하고 있는지 파이썬을 알려주는 "코딩 (인코딩)"과 "디코딩 (디코딩)"매개 변수를 제공합니다.

개요

우리는뿐만 아니라 유니 코드에 피클 모듈에 대해, 입력 및 출력 등의 콘텐츠 파일 처리의 다양한 유형에 대해 논의했다.

다음으로, 우리는 몇 가지 특이한 개념을 모색 할 것입니다.

자원

[1] 파이썬 입출력 · 바이트

게시 66 개 원래 기사 · 원 찬양 (101) ·은 30000 +를 볼

추천

출처blog.csdn.net/u010705932/article/details/104418053