Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
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
KBS新事業創造体験2025_科目説明会
yasuchikawakayama
0
160
栃木県警サイバーセキュリティ研修会2026
nomizone
0
200
AIで日本はどう進化する? 〜キミが生きる2035年の地図〜
behomazn
0
120
Web Search and SEO - Lecture 10 - Web Technologies (1019888BNR)
signer
PRO
2
3.1k
IKIGAI World Fes:program
tsutsumi
1
2.6k
ThingLink
matleenalaakso
28
4.3k
【旧:ZEPメタバース校舎操作ガイド】
ainischool
0
800
CSS3 and Responsive Web Design - Lecture 5 - Web Technologies (1019888BNR)
signer
PRO
1
3.1k
東大1年生にJulia教えてみた
matsui_528
7
12k
学習指導要領と解説に基づく学習内容の構造化の試み / Course of study Commentary LOD JAET 2025
masao
0
120
子どものためのプログラミング道場『CoderDojo』〜法人提携例〜 / Partnership with CoderDojo Japan
coderdojojapan
PRO
4
18k
俺と地方勉強会 - KomeKaigi・地方勉強会への期待 -
pharaohkj
1
1.6k
Featured
See All Featured
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.4k
So, you think you're a good person
axbom
PRO
2
1.9k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
249
1.3M
SEO for Brand Visibility & Recognition
aleyda
0
4.2k
Avoiding the “Bad Training, Faster” Trap in the Age of AI
tmiket
0
78
Leadership Guide Workshop - DevTernity 2021
reverentgeek
1
200
Leo the Paperboy
mayatellez
4
1.4k
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
4 Signs Your Business is Dying
shpigford
187
22k
Practical Orchestrator
shlominoach
191
11k
Rails Girls Zürich Keynote
gr2m
96
14k
Site-Speed That Sticks
csswizardry
13
1.1k
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/