はじめに
Pythonの文法を手っ取り早く習得できたらなんて思っている方はいませんか?
今回はPythonを始めたいと思っているプログラミング初心者の方に向けてとても簡単に基礎文法を紹介しました。
大事なポイントだけなので効率的に勉強することができると思います。
意外と、慣れている方でも知らない細かい部分もあるかもしれません。
またPythonは人工知能、機械学習、ディープラーニング、データ解析などに特化しており、2020年プログラミング言語人気ランキング1位になっています。
Pythonについて詳しく知りたい方はこちらのウェブサイトをどうぞ。
Pythonを勉強したい方は是非読み進めていってみてくださいね。
読み進めていく上でわからないところがあればこちらの記事を参考にしてみてください。
ファイル書き込み
それではファイルの書き込みから解説していきます。
f = open('test.txt','w')
f.write('あいうえお\n')
f.close()
こちらのコードは既存のtest.txtというテキストファイルにあいうえおという文字列を書き込むというコードです。
しかしこのコードにはいくつか注意点があります。
一つはwモードでは文字列を追加することができません。
(追加したいときはaモードでやってあげましょう。)
よって例えば最初にtest.txtファイルに何か文字列が書き込んであったらそれが消えて
あいうえおという文字列が書き込まれます。
もう一つはファイル特有の操作として最後にf.close()を追加することを忘れないように気をつけることです。
忘れると実行エラーとなります。
f.close()を使いたくない場合は
with open('test.txt','w') as f:
#中身の処理
とwithステートメントを用いてあげるとf.close()を省略することができます。
(ここからはwithステートメントを使っていきます。)
また/nは改行という意味です。
普段のファイル書き込みをせずにターミナルで実行する場合、改行はprintで自動で実行されます。
ファイル書き込みの場合はprintは
print('あいうえお',file = f)
とかわりにやってあげてください。
ファイル読み込み
今回test.txtの中身はこのような状態です。
test.txt
あいうえお
かきくけこ
さしすせそ
たちつてと
ファイルの読み込みはrモードを用います。
with open('test.txt','r') as f:
line = f.readline()
print(line)
#実行結果 あいうえお
f.readline()を使うと一行ずつ読み込むことができます。
これを応用してファイルの中身を全部一行ずつ読み込みたいときは
with open('test.txt','r') as f:
while True:
line = f.readline()
print(line,end='')
if not line:
break
#実行結果
あいうえお
かきくけこ
さしすせそ
たちつてと
このように記述します。
lineに渡す行が存在するときは読み込んでprintし続け、渡す行が無くなったときにwhileループから抜け出します。
printの中のendって何かわからないと思います。
f.readline()で一行ずつ改行し、printでも改行するので改行が実際のtest.txtより一つ多くなってしまいます。
だからprintのデフォルトはprint(‘中身’,end=’/n’)となっているのでその改行を減らすことで改行の辻褄を合わせることができます。
ファイル書き込み&読み込み
書き込みと読み込みを同時に行いたい場合はw+モードを用います。
with open('test.txt','w+') as f:
f.write('おはよう/n')
f.seek(0)
print(f.read())
#実行結果
おはよう
w+モードでは書き込みと読み込み両方を行うことができます。
しかし気をつけて欲しいことは一点あってw+モードはtest.txtファイルの中身を最初に全部無くしてしまいます。
最初から使いたい情報がtest.txtファイルにある場合は後述のr+モードを使ってあげましょう。
ちなみにf.seek(0)とは最初書き込んだ時に最後の行に移っているので最初の行を読み込むために最初に戻るための操作です。
それではr+モードについてです。
r+モードはw+モードとは逆に最初にtest.txtファイルに何も書き込まれていなかった場合、実行することができません。
よって最初におはようという文字列が入った状態からr+モードを使ってあげましょう。
test.txt
おはよう
with open('test.txt','r+') as f:
print(f.read())
f.seek(0)
f.write('おやすみ/n')
#実行結果
おはよう
test.txt
おやすみ
test.txtの最初に入っていたおはようが読み込まれ、printされてからf.seek(0)で最初の行に戻り、おやすみが上書きされるという流れになっています。
w+モードとr+モードはややこしいですがコードの記述量が減るので慣れてきたら使っていくのがいいと思います。
Pythonの勉強方法【おまけ】
Pythonの基礎文法を勉強するにはUdemyというオンラインプログラミング学習プラットフォームがおすすめです。
具体的に言うとこちらの講座です。
この講座だけで基礎文法だけでなく実践的な応用スキルまで身につけることができます。
めちゃくちゃわかりやすい講座なので気になる方は是非みてみてください。
私が受けたPythonの講座の中では最も良かったですしこの講座をやるだけでPythonの案件を十分にこなせるレベルのプログラミングスキルがつくと思います。
今回紹介したファイル操作もより詳しくこの講座の中で述べられています。
具体的にはファイルの名前をコード上で変えたり、ファイルがどのディレクトリにあるか探したりなどファイルの扱いが簡単になるメソッドが多く述べられています。
気になる方はこちらのリンクからどうぞ。
その他のPythonの記事
おわりに
今回はPython基礎文法のファイル操作について紹介しました。
ファイル操作はよく使い、便利なものなのです。
他のプログラミング言語でも概念は同じなのでこれを機に覚えておきましょう。
こちらの記事も合わせてどうぞ。
コメント