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
『会社を知ってもらう』から『安心して活躍してもらう』までの プロセスとフロー
sasakendayo
0
260
令和政経義塾第2期説明会
nxji
0
200
20250807_がんばらないコミュニティ運営
ponponmikankan
0
170
Padlet opetuksessa
matleenalaakso
4
14k
2026 g0v 零時政府年會啟動提案 / g0v Summit 2026 Kickstart
rschiang
0
270
生態系ウォーズ - ルールブック
yui_itoshima
1
250
Alumnote inc. Company Deck
yukinumata
0
2k
万博非公式マップとFOSS4G
barsaka2
0
1.1k
万博マニアックマップを支えるオープンデータとその裏側
barsaka2
0
810
2025年度春学期 統計学 第12回 分布の平均を推測する ー 区間推定 (2025. 6. 26)
akiraasano
PRO
0
160
人になにかを教えるときに考えていること(2025-05版 / VRC-LT #18)
sksat
5
1.2k
【Discordアカウント作成ガイド】
ainischool
0
120
Featured
See All Featured
Being A Developer After 40
akosma
90
590k
Speed Design
sergeychernyshev
32
1.1k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
285
13k
Imperfection Machines: The Place of Print at Facebook
scottboms
268
13k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
33
2.4k
We Have a Design System, Now What?
morganepeng
53
7.8k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
23
1.4k
The Cost Of JavaScript in 2023
addyosmani
53
8.9k
Product Roadmaps are Hard
iamctodd
PRO
54
11k
Stop Working from a Prison Cell
hatefulcrawdad
271
21k
Site-Speed That Sticks
csswizardry
10
820
Making Projects Easy
brettharned
117
6.4k
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/