Upgrade to PRO for Only $50/Year—Limited-Time Offer! 🔥
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
2020_k3_python講座第5回
Search
k3たっつー
June 27, 2020
Education
0
66
2020_k3_python講座第5回
2020年度のk3のpython講座第5回の内容になります
k3たっつー
June 27, 2020
Tweet
Share
More Decks by k3たっつー
See All by k3たっつー
2020_k3_python講座第8回
tattsu_hitsuzi
0
44
2020_k3_python講座第7回
tattsu_hitsuzi
0
39
2020_k3_python講座第6回
tattsu_hitsuzi
0
32
2020_k3_python講座第4回
tattsu_hitsuzi
0
33
2020_k3_python講座第3回
tattsu_hitsuzi
0
1.1k
2020_k3_python講座第2回
tattsu_hitsuzi
0
44
2020_k3_python講座第1回
tattsu_hitsuzi
0
56
Other Decks in Education
See All in Education
核軍備撤廃に向けた次の大きな一歩─核兵器を先には使わないと核保有国が約束すること
hide2kano
0
190
SJRC 2526
cbtlibrary
0
160
子どものためのプログラミング道場『CoderDojo』〜法人提携例〜 / Partnership with CoderDojo Japan
coderdojojapan
PRO
4
17k
Sanapilvet opetuksessa
matleenalaakso
0
34k
バケットポリシーの記述を誤りマネコンからS3バケットを操作できなくなりそうになった話
amarelo_n24
1
140
アジャイルの知見から新卒研修作り、そして組織作り
pokotyamu
0
120
Web Application Frameworks - Lecture 3 - Web Technologies (1019888BNR)
signer
PRO
0
3.1k
Cifrado asimétrico
irocho
0
360
Introduction - Lecture 1 - Human-Computer Interaction (1023841ANR)
signer
PRO
0
2.7k
くまのココロンともぐらのロジ
frievea
0
120
XML and Related Technologies - Lecture 7 - Web Technologies (1019888BNR)
signer
PRO
0
3.1k
いわゆる「ふつう」のキャリアを歩んだ人の割合(若者向け)
hysmrk
0
260
Featured
See All Featured
Become a Pro
speakerdeck
PRO
31
5.7k
Large-scale JavaScript Application Architecture
addyosmani
515
110k
Facilitating Awesome Meetings
lara
57
6.7k
The Cost Of JavaScript in 2023
addyosmani
55
9.4k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
5.8k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
61k
Building Adaptive Systems
keathley
44
2.9k
BBQ
matthewcrist
89
9.9k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
141
34k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.6k
Navigating Team Friction
lara
191
16k
We Have a Design System, Now What?
morganepeng
54
7.9k
Transcript
K3 Python講座 6月27日 担当:そすんさー 今日のテーマ:ファイルの読み書き
前回までのおさらい 関数 関数の定義 → 組み込み関数 → print()等、あらかじめあるもの
変数のスコープ → ローカル変数、グローバル変数 再帰関数 → 処理の中で自分を呼び出す関数
復習問題(L5_0.py) 3×3の行列式の値を求める関数を作成しよう M=[[1,-2,5],[6,-3,-1],[0,1,4]] |a b c| |d e
f |= a*e*i + b*f*g + c*h*d |g h i | - a*h*f – b*d*i - c*e*g
復習問題回答例 行列を多重リストとして みることで計算可能
今回のテーマ ファイル操作 ファイル操作とは? ファイルの読み込み ファイルパス
ファイルの書き込み ファイル操作
ファイル操作とは? Pythonを使って他のファイルを取り扱える Python ファイル (txt,csv, mp4等) ファイルをオープン ファイルオブジェクト が渡される
ファイル オブジェクト ファイルオブジェクト を介して、ファイル操 作 使い終わったらクローズ
ファイルの読み出し(1) 2種類の方法 open関数 変数名 = open(“ファイルのパス”) → 変数名.close()
が必要 with open with open(r“ファイルのパス”) as 変数名: 動作… → close処理を省略できる → ファイルのパスとはファイルの場所のこと → こっちを使えればOK
ファイルの読み出し(2) 変数名.read() → ファイルから全ての行を読み込む 変数名.readline() → ファイルから一行読み込む
変数名.readlines() → ファイル全体を行ごとに分割したリストにできる
ファイル読み出し(3) <文字列>.rstrip(“¥n”) →改行文字の削除が可能 <文字列>.split(“引数”) →文字列を引数で区切ることが出来る for line
in file: →ファイルの中身を一文ずつ見ることが出来る
ファイルの読み出し(4) 上の方法を組み合わせると、 リストの作成ができる!
ファイルの読み出し(5) 注意 →ファイルを読み込みと、 改行をしたところに ¥n が入っている 改行の原因
ファイルパス with open(r“ファイルのパス”) as 変数名: 動作… ファイルのパスには、相対パスと絶対パスがある
絶対パス →ドライブなど頂点からファイル名を示す 相対パス →作業フォルダからファイル名を示す
ファイルパス(2) 同じフォルダならファイル名でOK 絶対パスの求め方 ファイルのプロパティから見るのもOK
例題1 (L5_1.py) チャットに投げたファイルの中身を取得し、 turtleを用いて実行、描画しよう ファイルの場所は多分ダウンロード ダウンロードの中にある L5_1_turtle.txtを右クリック→プロパティ
例題回答
ファイルの書き込み with open with open(r“<ファイルのパス>”,mode = “モード名”) as 変数名
動作… モード名: “r” : 読み込みのみ “w” : 書き込み(既存ファイルに上書き) “a” : 書き込み(既存ファイルに追記) “x” : 書き込み(既存ファイルがあるならエラー) “+” : 読み書き両方したいとき 変数名.write(引数) → ファイルに引数を書き込む
例題2 (L5_2.py) 今から投げるテキストファイルの中身の形を 変えて、新しいテキストファイルに書き込もう ヒント:リスト
例題回答
encodingについて パソコンが読み込むのは、あくまで数字 文字コードと呼ばれる、文字を表す番号で識別 文字コードには種類がある →文字コードが違うと、正しく読みだせない、もしくはエラー
まとめ ファイル操作とは、pythonから他のファイルを操作 するということ
閑話 音楽の再生 https://techacademy.jp/magazine/20870 ぷよぷよプログラミング https://puyo.sega.jp/program_2020/
演習 (L5_3.py) To doリストを作成して保存するプログラムの作成 ファイルの中身を取得する機能 ファイルの中身を見る機能
ファイルに追加していく機能 ファイルの中身を消去する機能 ファイルの中身の優先順位を変更する関数
演習回答例
参考文献 https://www.sejuku.net/blog/24672 https://note.nkmk.me/python-file-io-open-with/ https://dot-blog.jp/news/python-open-function/