1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

ファイルの読み書きで使用する「open」関数のモードについて、存在しないものを選択肢の中から選びなさい。

Last updated at Posted at 2019-03-04

#はじめに
この記事はPython3初学者が、DIVE INTO EXAMのPython3エンジニア認定基礎試験の問題を引用し、解答するものです。間違い等があればご教示くださると嬉しいいです。

#設問

ファイルの読み書きで使用する「open」関数のモードについて、存在しないものを選択肢の中から選びなさい。

#解答群

  • r-
  • w
  • a
  • r+

#正解
r-

#解説
リファレンスによるとopen関数の引数modeで指定できる値は以下の通り。

|文字|意味|
|---|---|
|'r'|読み込み用に開く (デフォルト)|
|'w'|書き込み用に開き、まずファイルを切り詰める|
|'x'|排他的な生成に開き、ファイルが存在する場合は失敗する|
|'a'|書き込み用に開き、ファイルが存在する場合は末尾に追記する|
|'b'|バイナリモード|
|'t'| テキストモード (デフォルト)|
|'+'|ディスクファイルを更新用に開く (読み込み/書き込み)|

選択肢 r-

-というオプションは存在しないため○

f = open('test.txt','r-') # <= ValueError: invalid mode: 'r-'
f.close()

選択肢 w

wというオプションは書き込みであり、存在するため×

f = open('test.txt','w')
f.write('kemono friends\n')
f.close()
# No Error
test.txt
kemono friends

選択肢 a

aというオプションは追記であり、存在するため×

f = open('test.txt','a')
f.write('serval chan\n')
f.close
# No Error
test.txt
kemono friends
serval chan

##選択肢 r+
rは読み込み、+は読み書き両方指定するオプションで存在するため×

f = open('test.txt','r+')
f.write('kaban chan\n')
f.close
# No Error
test.txt
kemono friends
serval chan
kaban chan

余談

withステートメントを使えばcloseは省略できる

with open('test.txt','a') as f:
    f.write('lucky beast\n')
# No Error
test.txt
kemono friends
serval chan
kaban chan
lucky beast

1
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?