Pythonのお勉強 Part57
■ このスレッドは過去ログ倉庫に格納されています
そいつちょっと前から多数のスレでちょっかい出して回ってる半角単芝ガイジだからスルーしといて >>694
引っ込みつかんのはおまえやろwムリすんなw >>696
了解
粘着してるみたいだし、本人渾身のギャグだったんだろうな w seek はバイナリファイルだから、100 バイト目とか、位置指定。
メモリ位置は、計算で求まるから、計算量O(1)
テキストファイルは改行区切りだから、ファイルの先頭から、改行を探して数える必要があるから、O(N)
例えば、100, 200 バイト目に改行があるって、
あらかじめ改行の位置がわからないし、記録されていない
別のファイルに、改行の位置を記録しておけばよいかも。
JavaScript などのデバッグで使う、map ファイルみたいに なんで、無理にPython使うの?
tailコマンドの出力を受け取った方がよくない?
別にiOSやandroid上で実行させようとしてるわけじゃないんだから
実行速度だって、インタプリタのPythonよりtailコマンドの方が速いでしょ 初心者のうちはなぜか外部プロセス使うのダサいみたいな謎の観念があるよね
気持ちはよくわかる もともと>>650はwindowsでやりたいんじゃなかったっけ pip3のlistサブコマンドのオプションに--userがあるけど
この反対の挙動をする--systemみたいなオプションってあります?
つまりpip3 list --systemとするとSystem Wideにインストールされたパッケージ一覧が表示されるという。 650です
いろいろアドバイスいただきありがとうございました
シークを使ったファイル処理には疎いもので、dequeを使うやり方でやってみます
Windowsにtailコマンドがあれば良かったんですが・・・ Ruby では、tail -f の機能の、file-tail というgem を、誰かが作っている
たぶん、Python でも、誰かが作っているのでは? >>707
とりあえずseek使ったtailの最低限の実装はこんなの。必要ならバッファが足りなかったら増やす処理やエラー処理を追加してね。
def tail(filename, n=10, buf_size=4096):
with open(filename, mode='rb') as f:
file_size = f.seek(0, 2)
buf_size = buf_size if buf_size < file_size else file_size
assert f.seek(-buf_size, 2) == file_size - buf_size
for line in f.read(buf_size).decode('utf-8').split('\n')[-n-1:-1]:
print(line) >>707
追記
msys は丸ごとダウンロードして来なくても
git for windows を入れると入ってくる
msys-git とか git bash で充分
マなら git くらい入れとけ
ちなみに utf-8 のファイルも直接読めて快適だ >>707
Power Shell 3.0で
Get-Content ファイル名 -wait -tail 行数
がtailコマンドと同じことやってくれるよ なんでMicrosoftは独自色出したんだろ
差別化したいんかね
タイプ回数増えて面倒
負担少ないキーボード買わせる腹積もりか?! Get-Content のalias として、cat が使える
入力補完があるから、長くてもよいけど >>717
gc -w{tab} ファイル名
※ {tab}はタブキー
でいけるのでtail -fよりタイプ数は少ないよ 本立ち読みしたけどなんか数学的すぎて訳わからん
CとかJavaみたいな文系で高校数学もアヒャヒャな俺でも理解できる言語とは違うんだな >>721
LLはサッサとやりたことを片付けるために作られてるから
ライブラリを使うとこだけコピペして使うとこから始めると
だんだん感覚に慣れていくと思う
Haskellとかもっとわけわからんぞw LL は軽量言語。つまり動的言語
AI・数学・統計に関係ないなら、Ruby の方が簡単。
だから、Web 系は、Ruby on Rails が多い Pyキチ君、
マッチポンプのために図らずもRubyの宣伝をしてしまうの巻き >>723
Lightweight Language ね google colaboratory上で、google driveに保存してあるmp4動画google driveをマウントして
再生させています
https://stackoverflow.com/questions/18019477/how-can-i-play-a-local-video-in-my-ipython-notebook
のtop answerにある方法で再生はできるのですが、ファイルサイズが大きい(20MByte以上)と、
base64.decode('ascii')かIPython.display.HTML()あたりでMemoryErrorが発生して、ランタイムが切断されてしまい、
再生できません
b64encodeされたデータを複数のchunkに分割してdecode('ascii')したものをつなげても、
HTML()で同じエラーになります
google driveファイルを共有設定にする、ファイルを分割しておく、以外で再生する方法は
ないでしょうか? そもそも、google drive, Python などは、動画のストリーム再生に対応しているのか? これは、google colaboratoryのundocumentedな制限じゃないですかね
おま環影響を排除するためにazure notebookにmp4をアップロードして試してみたけど、
colaboratoryでruntime restartされた40MByteくらいのmp4もjupyter notebook上で再生できた
制限内容がよくわからないからそのうち嵌りそう、というかcolaboratoryではよくあることかも pythonプログラムをpythonインタプリタなしで実行する方法ってある? >>734
exe化ってpythonがインストールされてなくても動くの? python.dllってのがおまけで付くけど実質インタプリタ >>738
どうやって作るの?
py2exeじゃダメでしょ えっ
py2exeでもpyinstallerでも単品exeに仕立てられるぞ
それぞれのドキュメントみろ あるいはどっか
web上にソース貼ると
ある程度挙動をエミュレートしてくれるサイトなかったっけか(はげしくうるおぼえ) Dataframeのカラムの一つのdf['fff']の中身が
0,1,2,3,4,5,6,.........と番号順に増えるようにするにはどうすればいいの? こどもの行事写真なんだけど、2000枚くらいあって、その中から自分の子供の画像だけ抽出することってできる? それはAIを使ってプロが作るやつやで
自作するようなもんじゃない >>745
googleフォトにアップロードして、ある程度(数日?)待つと
googleのAIが映っている人物で分別してくれるよ 自分で制御したいならAWSのRekognition使えば一発だな
そんな誰でも考えることに対して、わざわざ自分で膨大な手間をかけて既製品より遥かに劣る再発明をするのは阿呆
もっといえば画像認識の分野なんて研究されきってて、一般的なタスクは基本的に既製品で十分すぎるほどにカバーされてるよ >>747
ありがとう。じゃあ、そこまでをパイソンにして貰えばいいわけね。 >>747
macOSでも「この人物は誰々ですか?」ってのがあったねー
自動的にパターンマッチングして分類してくれる機能 >>744
おい、気になるから答えも書いてくれよw これからpythonの勉強しようとしてる初心者ですが
開発環境はどういうのがいいのでしょうか?
インストールする際についてきたIDLE.appだとなんだか使いにくいのです。 >>754
vscore、pycharmから選べ
上級者を目指したいならvimかemacs お返事ありがとうございます。
以前atomがいいと言われたことがあるのですが
これはどうなのでしょう? 学生ならpycharm一択かもしれん
vimキーバインドにすれば玄人感でるし ツイッター観察板なんてあったんだな
ネットウォッチから分離したのか cvxoptのソルバーのsocpについてで
||Ax+b||≦cx+d
の拘束条件と同時に
Bx=1
みたいな等式の拘束条件を同時につけてsolveさせたいのですが
どのように書けば良いのでしょうか…?
初心者なりに調べては見たのですが、ノルムの不等式の条件づけしか例に挙げられていないものが多くよく分からなくて詰まっています… >>764
Julia/JUMPに移行しちゃってるので試してないけど、
公式ドキュメントにそのまま書いてあるんじゃないですかね?
http://cvxopt.org/userguide/coneprog.html#second-order-cone-programming
cvxopt.solvers.socp(c[, Gl, hl[, Gq, hq[, A, b[, solver[, primalstart[, dualstart]]]]]])
で、AとbがAx = bでの制約条件データ
Aはcvxopt.matrixかcvxopt.spmatrix、bはcvxopt.matrix maxima, C++, tcl/tkでやってたけど、今さらsympy知ってこれ便利と飛びついてみたのだけど、
sympy.vectorとsympy.physics.vectorとか微妙に機能の違う類似ものがダブって存在してたりでつかれる。 sympyサブモジュールは個々の領域の人の、こんなん作ってみた!の寄せ集めなので
閉じた世界と考えたほうがいい
統一されてないものなら、python/numpyのrandintとか、numpy/pandasの標準偏差が
自由度修正済みかどうかとかメジャーパッケージでもいろいろあるね
ところで、maxima使いがsympyつかうならsagemathにいったほうがいいと思う Pythonの入門書やってる途中でコマンドラインのウィンドウにファイルを指定してから実行するってのが出てきたんだけど、「コマンドは有効でありません」とか出てきて訳分からなくなってる
どうすればいいですか >>764です
質問した内容は>>765の方のおかげで無事解決しました!
ただGqで宣言するリストの中身の行列は複素数は扱っては行けないんですかね…?
エラーを見る限りではサイズか型が悪いのかな?と思いサイズを確認したのですがおそらく問題なさそうだったので、質問をしにきました
複素数扱えないSOCPならもうcvxopt使えないんですけど、どうなんでしょうか…? >>775
visual studioとvisual studio codeを間違えてただけだった… >>776
その問題は、socpですらないんじゃないの? PythonやるのにCとかJAVA知っとく必要ありますか? >>780
必要ない
俺はCやJavaを何年も勉強して身につかなかったCOBOL使いだが、Pythonはスッと頭に入った
おそらくこれほど理解しやすい言語はこの世に存在しない オブジェクト指向が全然わからん、classとか全く使ってない
みんなオブジェクト指向してるんですか? >>784
そんなものは必要ない
コードの上からずらずらとやりたいことを書くだけで良いのがPythonの強み
Javaプログラマがクラス設計に頭を悩ませている間に
Pythonプログラマはそこそこ動くコードを書き終えているだろうね jupyterlabのvim拡張ってキーマップ設定とかできる?
notebookの方だとディレクトリの深い所にあるvim.jsを書き換えれば好きにキーマップ変えられたけど >>787
Javaでもmainメソッドの中にずらずら書いてそうだなあんた Javaにリファクタリングって本があるから立ち読みでもして見てみ
OOPがどう便利なのかシンプルに分かるから Pythonプログラマーになるのに基本情報技術者資格勉強する必要ある?
アルゴリズムとかJAVAとかややこしそうなんだけど 少なくとも現状の国内では、Pythonの本職エンジニアにはほぼ例外なく基本情報(またはその上位互換)を持っているor取ろうと思えば楽勝で取れる人しかいない
米国だとPythonはお子さま言語でもあるからもっとレベルの幅は広いんだろうけど ■ このスレッドは過去ログ倉庫に格納されています