jsonファイルの出力

Python3でjsonファイルを出力するプログラムです。

import json
import codecs

# jsonオブジェクトを作成する
obj = dict()
obj['foo1'] = 'bar1'
obj['foo2'] = 'bar2'

# 書き出すjsonファイルをopen
file = codecs.open('./output.json', 'w', 'utf-8')

# ファイルにオブジェクトを書き出す
json.dump(obj, file, indent=4, ensure_ascii=False)

オプションとしてインデントを4、
ascii文字のエスケープは無効でやっています。
今回の例では不要ですが、ascii文字を使用するときはこれをやらないとエスケープされてしまいます。

以下が書き出したjsonのコードになります。

{
    "foo1": "bar1",
    "foo2": "bar2"
}

以下、公式のドキュメントです。
19.2. json — JSON エンコーダおよびデコーダ — Python 3.6.1 ドキュメント
7.2. codecs — codec レジストリと基底クラス — Python 3.6.1 ドキュメント

7、8月のまとめ

前回の記事を書いてから何やってきたか殆ど覚えていないので、
思い出しながらまとめてみる。

Boostnoteのインストール

デスクトップとノートの両方にインストールして使っている。
Markdownでメモを書けるのは本当に楽!わかりやすい!簡単!

iCloudの共有フォルダにデータディレクトリ入れてるので、勝手に同期してくれる。
こんな便利なものあったんだと目からウロコでした。

boostnote.io

Python3

主にScrapyでスクレイピングするために勉強した。
前はRubyのAnemoneやNokogiriでやってたけど、それより便利かも。

ただ、Rubyに比べて日本語のドキュメントが少ないのが欠点といえば欠点か。
プログラマなんだから英語の勉強もしろよってことですね。

まだしっくりきてないですが、
一応クローリングとスクレイピングは違いますよってことを書いておきます。

  • クローリング
    • Webページのリンクを辿りながら保存する作業
  • スクレイピング
    • 保存したページからデータを抽出する作業

Unity

これについては殆ど触りだけしかやってません。
具体的には、ドットインストールのチュートリアルやったくらい。

ただ何か作れそうといえば作れそうです。
それが未定なのでいまいちモチベが上がらないだけですが……。

C++

ここ最近半分以上はC++いじっていたような気がします。
それくらいずっとC++ばっかりやってました。

今更、STL凄い!スマートポインタ凄い!ラムダ式凄いと感動してます。
いままで避けてきたツケが回ってきたというか。

読んだ本についてはこんな感じです。

  • 書籍「ゲームエンジンアーキテクチャ第2版」
    • ゲーム業界特化で書いてあるので面白い
    • 具体的なツール名や考え方、便利な機能まで細かく書いてある
    • 情報量が多すぎてまだ全部読み切れていない……
  • 書籍「標準講座C++
    • 2年近く昔に買った本なので情報が古い
    • 基本的なことは一通り書いてあるので困ったときのドキュメントになってる

C++gccコンパイラを使ってます。
Makefileから書くと今まで意識してなかったことが理解しやすくて勉強になる。
リンクってなんだ?オブジェクトファイルってなんだ?が一気に解決しました。



そんなところです。

TS Sniperの出力エラー「Unable to to read next transport packet - End of file reached.」の対処方法について

録画したテレビ番組の編集にTS Sniperを使っているのですが、
ある時カット編集したTSファイルを出力しようとしたら以下のエラーが表示されました。

Unable to to read next transport packet - End of file reached.

f:id:katakusu1714:20170715141810p:plain

エラーが出るTSファイルと出ないファイルがあるようで、
原因がよく分かりませんでした。


色々調べた結果、対処方法らしきものを発見したので、
以下に記載しておきます。

対処法

要点だけ言うと、
今までと同じようにTSファイルをTS Sniperで編集するのではなく、
TSファイルを一旦tsMuxeRというソフトに通してからTS Sniperで編集するというものです。

tsMuxeRのダウンロードや説明は以下のリンクより
www.gigafree.net

tsMuxeRをダウンロードインストールしたら、以下の手順どおりに編集します。

実行手順

1. tsMuxeRを起動する

2. tsMuxeRにTSファイルをドラッグドロップ

色々設定できるみたいですが、確認するのはInputタブのみで大丈夫です。

Input filesにドラッグドロップしたファイルが設定されてて、
Tracksで全部(動画、音声)にチェックが入ってて、
OutputがTS muxingに設定されていることを確認します。

OutputのFile nameから出力先や出力名を変更できます。

3. [Start muxing]で出力する

4. 出力したTSファイルをTS Sniperで編集して書き出す


今のところ上記の方法でエラーは出なくなりました。

6月まとめ

6月にやったことをまとめてみる

一番内容濃かったと思ったのはSwiftの勉強だった。
実機でテストできるって知ってから一気にモチベ上がった。
ちなみに、手持ちのiPhoneは5無印という骨董品だけど。

Swift勉強する上できつかったのは、過去のバージョンとの互換性があまりない。
ナレッジを調べても出てくるコードはObjective-C、swift1、swift2……

AppleはまたSwift4出すようだけど、もうやめてくれと……

とりあえず編集してみる

前回の更新が2月末で今はもう5月末。
どんだけ経ってんだって話だよ、本当に。
それでもメモ帳代わりに書くなら、テキストファイルよりもブログでいいかと思ってダラダラと書きます。

前回の更新からなんかいろいろやってたなぁと。

脈絡もなく書いたけどこんな感じかな。

また新しくやりたいこと見つかったら、メモ代わりに書いていこうと思う。
やっぱり記録を残したり、書き出すって大切だな。

Docker導入

気になっていたDockerを導入していろいろ触ってみる。

まずは、vagrantubuntu構築してDockerを入れる。

  1. Ubuntu構築

Vagrant を使用して仮想マシンを作成してみる - Qiita
基本このページ参照してインストール

  1. Ubuntu更新

[Ubuntu] apt-get まとめ - Qiita
以下のコマンドで更新
・sudo apt-get update
・sudo apt-get upgrade
・sudo apt-get dost-upgrade

  1. Dockerインストール

Get Docker for Ubuntu - Docker
docker公式の手順に従ってインストール

やりたいことリスト

PDCAのPに当たる?
何となくやろうとしていることを羅列してみる。

2月ももう終わりに近づいてるけど、
2月末に確認できればいいかな。

ゲーム

プログラムとか

  • 実況ログ取得
  • MMDSim
  • Docker触る

以上!