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
「実践的探究」を志向する日本の教育研究における近年の展開 /jera2025
kiriem
0
110
とある長岡高専卒のおっさんがIT企業のマネージャーになるまで / journey-from-nagaoka-kosen-grad-to-it-manager
masaru_b_cl
0
120
Ch1_-_Partie_1.pdf
bernhardsvt
0
410
QR-koodit opetuksessa
matleenalaakso
0
1.7k
the difficulty into words
ukky86
0
140
Master of Applied Science & Engineering: Computer Science & Master of Science in Applied Informatics: Artificial Intelligence and Data Science
signer
PRO
0
830
Técnicas y Tecnología para la Investigación Neurocientífica en el Neuromanagement
jvpcubias
0
170
みんなのコード 2024年度活動報告書/ 2025年度活動計画書
codeforeveryone
0
350
相互コミュニケーションの難しさ
masakiokuda
0
270
今までのやり方でやってみよう!?~今までのやり方でやってみよう!?~
kanamitsu
0
190
Entrepreneurship minor course at HSE 2025
karlov
0
100
株式会社アイエスエイ 会社概要
recruit_isa
0
110
Featured
See All Featured
Unsuck your backbone
ammeep
671
58k
Visualization
eitanlees
149
16k
GraphQLとの向き合い方2022年版
quramy
49
14k
The Pragmatic Product Professional
lauravandoore
36
6.9k
Building Flexible Design Systems
yeseniaperezcruz
329
39k
Faster Mobile Websites
deanohume
310
31k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
140
34k
Music & Morning Musume
bryan
46
6.8k
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.4k
Optimizing for Happiness
mojombo
379
70k
Raft: Consensus for Rubyists
vanstee
140
7.1k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
230
22k
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/