ファイル’a’モードでの書き出し

ファイルの末尾に追加するためにはopen()関数に「a」というモードを使います。

ファイル’a’モードでの書き出し

ファイルの末尾に追加するためにはopen()関数に「a」というモードを使います。
「w」モードを使うと、ファイルを開くたびにファイルの内容を空にしてしまいます。
アイキャッチ画像で「a」(①)モードで追加する場合、「r」モードで読み込みすると
②のように追加されて読み込まれます。

↑人気ブログランキングに参加しています。ポチっと1票を!

Windows10のファイル名のエンコーディング

‘utf-8’を使っていました。

Windows10のファイル名のエンコーディング

Windows10にインストールしたPython3を使って、
システムが使用しているファイル名のエンコーディングを
調べます。
すると’utf-8’を使っていました。

↑人気ブログランキングに参加しています。ポチっと1票を!

ファイル操作(文字列データの場合)

ファイル操作(文字列データの場合)

以前、イメージファイル操作について述べた。
例えばフェルメールの「真珠の耳飾りの少女」の表示などである。
ここではもっと単純な文字列の書き込み、読み出しの例をAtom・Hydrogen、PyCharmで表示する。
‘w’は何度同じものを書き込んでも同じデータが書き込まれる。
‘a’にするとファイルの終わりに追加される。
単純だがPythonの基本なので取り上げた。

書き込んだデータ

ファイル操作・PyCharmの場合(書き込み)

ファイル操作・PyCharmの場合(読み出し)


↑人気ブログランキングに参加しています。ポチっと1票を!

Atom(Alt + R)(文字化け)

191002

エンコードの判定

以前からHydrogenで日本語の表示はうまくいっていたがAtom(Alt + R)で日本語を表示させると文字化けが起きてしまっていた。何が原因かわからなかったのでアイキャッチ画像にあるような関数を作って(encodings = [“ascii”, “utf-8”, “shift-jis”, “euc-jp”])の4種類を利用してAtomのコードが何であってもAlt + Rで文字化けしないように試みたが②のように無駄だった。日本語表示させるためにはPyCharmを使うか、Hydrogenを使ってステップバイステップでやるしかないということが分かった。

Atom(Alt + R)文字化けあり

↑人気ブログランキングに参加しています。ポチっと1票を!

ディクショナリのキーをスマートに扱う

190722

ディクショナリのキーをスマートに扱う

ディクショナリを使った処理では、キーが存在するかどうかに気を付けて処理を行わなければなりません。キーを指定した代入を実行する際には、キーが存在しない場合は新たに追加されるので、問題はあまり起きません。気を付けなければならないのは、キーを指定してディクショナリの要素を参照する場合です。存在しないキーを使ってディクショナリの要素を参照しようとすると、例外(KeyError)が発生します。
例えば、ファイルに含まれる英単語の出現回数を数える処理を記述する場合、ディクショナリでは、キーとして同じ要素を登録できません。この性質を利用して、英単語をキーとして、出現回数(数値)を登録したディクショナリを作ることにします。
この例がアイキャッチに掲載したプログラムです。
① lineに英文を代入します
② wordcountの辞書を作ります
③ ループでは読み込んだ行にsplit()メソッドを使ってシーケンスを作っています。英文を空白文字で区切った結果が、1つずつ繰り返し変数に代入されていきます。英文の行が分割されて、繰り返し変数に英単語が代入され、ループが実行されます。
④ 繰り返し変数がディクショナリのキーとして登録されているかを調べています。もしキーとして登録されていたら、単語のカウントを1つ増加します。代入の右側では、キーを使ったディクショナリの参照が行われています。登録されていない単語が現れると、存在しないキーを参照することになります。そのため、in演算子を使ってキーが存在するかどうかを確認する必要があります。この処理がif文で行っていることです。
⑤ カウントに1を入れます。
⑥ ディクショナリのキーを打ち出しています。
⑦ ディクショナリを打ち出しています。

Dictionary-atomの場合

dictionary-PyCharmその2


↑人気ブログランキングに参加しています。ポチっと1票を!

Atom Hydrogen-format

Atom Hydrogen-formatその2

①ポジショナルパラメータ
②キーワードパラメータ
③引数として渡したディクショナリのキーを指定
④その結果
⑤sysモジュールのversionアトリビュートを使ってPythonのバージョンを表示する
⑥一つ目の要素を左詰めで、二つ目の要素を右詰めで

↑人気ブログランキングに参加しています。ポチっと1票を!

Atomでelif,elseがSyntax errorになる件

Atomでelif,elseがSyntax errorになる件。

Atomでelif,elseがSyntax errorになる件

西暦から元号(和暦)への変換プログラムの再掲載。

・AtomとPyCharm環境下でelse,elifを実行すると違った結果になる。
・AtomのHydrogen(Shift+Enter)を実行することは裏でJupyterが走っていることに他ならない。
・PyCharmでelifが正常に処理されることからProgramに誤りはない。
・Atom下でAlt+Rで実行するとErrorも起きないが処理結果もCode化けで正しく表示されない。
・AtomでAlt+Rで実行するには漢字などの2バイトコードを使うProgramは実行できない。
・これらのことからAtom下では限定的なプログラムにとどめて大部分はPyCharmで開発することになる。

① 西暦を入力させる
② 入力した年を表示する
③ 明治元年か?
④ 明治時代の何年か?
⑤ elifがSyntaxErrorとなる

以上

↑人気ブログランキングに参加しています。よろしければ1票を!

Python文字列メソッド④

Python文字列メソッドljust,center,rjust。

Python文字列操作④

Python文字列メソッドljust,center,rjust
①横幅40文字分に文字列を左詰めで配置する
②横幅40文字分に文字列を中央揃えで配置する
③横幅40文字分に文字列を右詰めで配置する
④スペースの代わりに「.」で埋める

↑人気ブログランキングに参加しています。よろしければ1票を!

Python文字列メソッド③

Python文字列メソッドsplit,join,strip,lstrip,rstrip。

Python文字列メソッド③

Python文字列メソッドsplit,join,strip,lstrip,rstrip
①文章をスペースで分割する
②itemsに分割したwordを入れる
③1から始めた4番目のwordは?「Is」
④分割したワードを結合する
⑤先頭の「I love you」を削除する
⑥左から先頭の「I」を削除する
⑦右から末尾の「True?」を削除する

↑人気ブログランキングに参加しています。よろしければ1票を!

Numpyを使ってXOR条件を印書する

アイキャッチ画像はPythonのNumPyを使ってブーリアン代数XORを印書したところです。

Numpyを使ってXOR条件を印書する

アイキャッチ画像はPythonのNumPyを使ってブーリアン代数XOR(排他的論理和)を印書したところです。

↑人気ブログランキングに参加しています。よろしければ1票を!