Pythonのお勉強 Part64
レス数が1000を超えています。これ以上書き込みはできません。
!extend:default:vvvvv:1000:1024
!extend:default:vvvvv:1000:1024
↑スレ立てる毎に減るので、減ってたら3つに増やすこと。
・当スレにRubyのソースコード類を書くことを禁ず
・Ruby等、Pythonではないプログラミング言語での回答類・質問を書くのも禁止
・「Ruby では」「Rubyでは」をNGワード登録推奨
・エラーを解決したいときは、まず
エラー文(勝手に省略/スクショうp等の横着禁止)と
おま環(Pythonのバージョン+OS名IDE名と夫々のバージョン)を書け。
★Pythonのソースコードを5ちゃんに直コピペするとインデントが崩壊するので、
↓等のコードうp用サイトに貼ってきてくだしあ。(スクリーンショットをimgur等にうpる「横着」禁止)
ttps://techiedelight.com/compiler/ Run Code機能あり。最近流行中?
ttp://ideone.com/ デフォ設定がCなので、Pythonするには言語種選択ボタン押下がピコ手間かも。
ttp://codepad.org/ ほぼ直感的に使える。Run codeボタンあり。
ttp://pastebin.com/ まずまずシンプル。
ttp://dpaste.com/ とてもシンプル。消えるまでの日数は十分長ーく指定のこと。
◇Pythonオフィシャルサイト http://www.python.org/
◇まとめwiki ttp://python.rdy.jp/
●関連スレ●
くだすれPython(超初心者用) その46【Ruby禁止】
http://mevius.5ch.net/test/read.cgi/tech/1577948214/
〇前スレ〇 Pythonのお勉強 Part63
https://mevius.5ch.net/test/read.cgi/tech/1582507911/
次スレの建立は>>985が挑戦する。(980通過して24h後も落ちなくなってからだいぶ経っつる)### END of TEMPLATE ###
VIPQ2_EXTDAT: default:vvvvv:1000:512:: EXT was configured やっだー
前スレの1000でこのスレのURLはったつもりが
勘違いで前スレのURL貼ってたー ついに定期券購入も非推奨になってしまった
通勤手当も出なくなって通信費補助でお茶濁し >>4
初心者乙
USBをセキュリティのために使えなくしても悪意があればいくらでも持ち出し可能だよな。クラウドのストレージにアップされたら終わり >>8
前スレのおわりの話って
前提として、スタンドアロンじゃね? >>1 乙
プログラム組んでるとおとろしい。
ふと時計をみると一時間たってるw 機密情報を扱うPCでのUSBデバイスのアクセス制御すらできないような会社だから、何でも禁止の規約でやったつもりになってるんだろうな
社員に自由を与えることに価値を見いだせないから、金も使わず技術も培われない 自由を与えず奴隷扱いするから悪事を働く人間が生まれやすくなる
人を完全に選別管理できるという考え方は奴隷文化の定着した会社の考え方 自由を与えると悪気もなく天然で馬鹿なことする人がいるから厳しくするんだろう。 レンタルサーバーでSelenium回したいんだけど年間1万ぐらいの鯖じゃメモリ足りんわ
ChromeやめてFirefoxにすればいけるかなぁ レンサバって共用だからメモリ512GBとかあるじゃん エックスサーバーが超いいならいいんだろうが512GB ps5予約席取りプログラムうっかり30万のやつ買いそうで怖い >>18
さくらとかだと共用でもメモリは512MBとかなんだけど、エックスサーバーはメモリ512GBを全体で共用するの? たしかそんなんだが
X鯖は1鯖あたりにぶらさがっているアカウントの数がはんぱないぞ でもあまり使われないサイトたちと同じサーバーだと軽いとか速いとか言われるからメモリはその分使えるんじゃないの?
共用だからといって512MBまでしか使えないとか制限があるわけではなさそうだし。 さくらは金額が上がればメモリ上限も上がるよ
エックスサーバーは知らんけど >>23
なにするかしらんが
すいてるからってひとりでどこまでもは、追い出されるか追加請求くる悪寒しかしないので
規約嫁 >>25
言い出しっぺは俺じゃない
ちなみにエックスサーバーでWordPressの重い系プラグインで回していたら普通にエラーになったから追加請求じゃなくて単にプロセスをkillされるだけ
あと一定時間アクセス拒否される
自動化されてるらしいけどプラン上げたら緩和された 普通の共有鯖じゃなくて年1万位のVPSだとメモリ512MB〜1GBくらいが多いよね VPSじゃなくIaaSを時間単位で借りる方が安くて高性能なんじゃね
GCEのプリエンプティブインスタンスとか >>26
そういえば一定負荷かけたらkillなっていうラインは
いつぞやのメール告知+規約改定で明示されてるな serverless computingを活用しない限りはVPCで済むならVPCの方が安いだろうけど、
スキル的にはAWSやGCPの経験を積んだ方が遥かに有益であり少々のコスト差など無視できる
俺なら迷わずAWSやGCPを選ぶかな AWSって従量課金制で俺怖いから仕事以外では使ったことない
定額にしてほしい 初めてPythonでGUIアプリ作ったけど
TkInterって標準ライブラリの癖にドラッグアンドドロップ対応してないのな
わざわざTkInterDnD2って外部ライブラリ使わなきゃいけないっぽい tkinter 標準の dnd.py ではご不満で
TkInterDnD2 がお気に召したということでよろしいか? >>34
dnd.pyってどっかでゴミと称されてたから使うの避けてたわ
使ってみたこと無いし使ってみる
思い出させてくれてありがとう matlabでのfiltfilt()のように、ゼロ位相デジタルフィルター処理ができる関数はなんでしょうか Pythonで整数を変数に代入するときってコピーは何使ってるの?
シャローコピー?それともただのアドレス値の代入? https://docs.python.org/ja/3/library/copy.html
>Python において代入文はオブジェクトをコピーしません
って書いてあった
これって実装レベルではポインタ変数の代入ってことかな >>41,42
long?
あれ、プリミティブなのか
どうやって桁数の多い値を実現してるんだろう Plotlyでガントチャートを描画するとき
テキストを箱に収まるように
良い感じで改行したり
文字の自動スケールできるようにする方法ないですか >>44
自分で
許容幅を計測し、おさまるまでテキストのポイント数を下げるように指令する関数をつくる。 kerning
枕草子を google で英語に翻訳すると
Pillow Book
って出たから
Pillow が引っかかってるんだな windows10でpycurlをpycurl-7.43.0.5.win-amd64-py3.7.exeからインストールして、obj.setopt(pycurl.CONNECT_TO,('192.168.1.1',))てな感じでやったんですが、
指定したアドレスにつなぎに行ってくれません。
たすけて。 >>49
プロセッサがamd系じゃなかったりそも64bitじゃなかったらワロル
そうじゃないなら1嫁
読んだら(・∀・)カエレ!!! status が 200 とは限らないから
301 とかだと空になるかもな
VERBOSE で観る
import io
import pycurl
b = io.StringIO()
c = pycurl.Curl()
c.setopt(c.URL, "https://python.org/")
c.setopt(c.WRITEFUNCTION, b.write)
c.setopt(c.CUSTOMREQUEST, 'GET')
c.setopt(c.USERAGENT, 'hanamogera')
c.setopt(c.VERBOSE, True)
c.perform()
b.getvalue() https://pastebin.com/bJGcfst4
↑と同じことをcui版で
curl -connect-to 192.168.1.1 -v http://www.example.com
とかやると
* Rebuilt URL to: 192.168.1.1/
* Trying 192.168.1.1...
ってなるんですが、pycurlだとそこを飛ばしていきなりURLで名前解決したアドレスに接続しに行くんです
PycURL/7.43.0.5 libcurl/7.68.0 ...なんでCURLOPT_CONNECT_TO未対応というわけでもありません c.setopt(c.PROXY, '192.168.1.1:80') うおーい、tensorflowが動かね〜ぞ?
インストールは出来てるようだが、importでエラー
ワケワカメ? >>56
うわおおおおおお、奇跡か!
importでけたぞぅおおおおおおお!!!! インスコで環境変数書き換えられた後
再起動してなかったパターンだが
M$アプデが配信されたので
強制再起動入ったとエスパーしてみる import pandas as pd
train = pd.read_csv('../input/titanic/train.csv')
train.head()
上のheadで5行表示されるが、このデフォルトの5行を変更する方法はあるのかな?
3行でいいので、いちいち train.head(3) って書くのが面倒。 【 head 】コマンド/【 tail 】コマンド――長いメッセージやテキストファイルの先頭だけ/末尾だけを表示する:Linux基本コマンドTips(3) - @IT
https://www.atmarkit.co.jp/ait/articles/1603/07/news023.html
headの標準量は決まってる
コマンドだと10行
pandasだと5行 関数定義すりゃいいやん
def head(csv):
csv.head(5) そっかぁ、通常には用意されていないんですねぇ…
教えてくれた人もいるように、関数定義を最初に儀式のようにしておけば、いいんですかねぇ。。
検索したらこんなのあったけどので一応共有しておきますね。
https://medium.com/dunder-data/pandas-trick-1-change-the-default-number-of-rows-returned-from-the-head-method-bc7c21ce0d53
from functools import partialmethod
pd.DataFrame.head = partialmethod(pd.DataFrame.head, n=3)
train.head() youtube-dl ってコンパイルして配布してると思ってたんだけど違うんだね。
pyファイルを圧縮して一つにまとめて配布してるんだね。
これで動いちゃうんだね。
自分で作ったpythonのプログラム(5、6個のファイルにわかれてる)を圧縮して作ってみたんだけど
動いた。
プロは凄いこと考えるね。pythonが凄いのかな? Pythonでコンパイルって意味不明
zipインポートは別に驚くようなことでもないだろ
zipはそれ単体が小さなファイルシステムを内包しているのだから
それをマウントポイントとして見るのはとても自然だよ >>67
pythonってコンパイルできるだろ。
まあ、perl のコンパイルみたいに、遊び程度かもしれないが。 厳密にはコンパイルと違うかもしれんが、複数のファイルを一つの実行形にするのには使えるだろ。 pycをzip化してsys.path.append(zip)が最強 この方法知らなかったから、単純に勉強になった。
配布楽だな。 環境依存か…確かに。
ぶっちゃけNodeもPythonも、デプロイ先がインターネットに繋がってないって事あんまり想定してないよね。
イントラにデプロイするとき結構悩むわ。
それが嫌でコンパイル言語使ったりもしてた。 ついにtiobeでPythonがJavaを抜いて2位になったぞおおおおおお
https://www.tiobe.com/tiobe-index/ スクリプトだしアプリって感じしないから。
サーバーサイドで動いてるのは知らん。 pythonを使っているソフトウェアがwikiにまとめられているゾ 昨日文字コードで嵌まったわ
pythonで扱えるSHIFT-JISが4種類あるとは
互換を持たせるための別称位に思ってて別物とだとは思わなかった >>81
それはpythonに限らんぞ
tiledとかcp932とか業務系、銀行系では使い分け重要 歴史的に仕方が無いとは言え
もうそろそろ何とかならんのかとは思うわ、文字コード >>82
なおコアサービスはRustで書き直された模様
https://thinkit.co.jp/article/17513
Rustも学ばなきゃ(使命感) >>85
でもUTF-8って3バイトだからデータ量1.5倍やろ >>89
バーン!とサーバをたくさん並べればOK! >>90
最近流行りのスケールアウトってやつだよね
未来感あるわー 真面目な話で、少しのサーバ追加で解決するならUTF-8にした方がいいと思うよ。
開発者が文字コードの扱いに悩む時間がもったいない。 サーバーのストレージやメモリだけじゃなく
データのやりとりに使うネットワークの負荷まで1.5倍だから
そう単純でもないだろう 開発時間1/10
運用の手間1/10
ストレス1/10
話は単純だ 他のシステムとのやり取りは結局UTF-8だったりするのよね… 何言ってんだ。UTF-32は4倍だから12バイトなのは世界の常識だぞ https://ideone.com/JaF7A2
配列を0の箇所に表示するにはどうしたらいいんでしょうか?0は壁でテトリス作成中です。
if文で条件指定していますが、うまくいきません。
こうなります。
0部分にだけ表示させる分岐を教えて下さい。
[1, 2, 3, 3, 0, 0, 0, 1]
[1, 2, 3, 3, 0, 0, 0, 1]
[1, 0, 0, 0, 0, 0, 0, 1]
[1, 0, 0, 0, 0, 0, 0, 1]
[1, 0, 0, 0, 0, 0, 0, 1]
[1, 0, 0, 0, 0, 0, 0, 1]
[1, 0, 0, 0, 0, 0, 0, 1]
[1, 0, 0, 0, 0, 0, 0, 1]
[1, 1, 1, 1, 1, 1, 1, 1] 4回までしか展開されていないからこうなるわけですよね、、、 想定通り0のところだけ描けてるじゃん。
l_mino_testを0,0からbaseと比較して0の部分だけ描画できてるよ。 >>99
まずは自分がやりたいことを人に伝わるように正確な日本語で書けるようになれよ。
それすらできないのにコードは書けないぞ。 テトリスみたいな複雑なアプリを、素人が作れるわけないだろ。
壁に、めり込んだりするのに
YouTube で、Java 土方のT Umezawa のテトリス動画でも見た方がよい テトリス風ゲームは素人向けだがハイパーローテーションとTSPIN実装するのは俺には無理だ pyautoguiでchromeのアイコンを画像認識させてみた
ディスプレイの解像度が変わった時はconfidence=0.5にしろと
stackoverflowに書いてあったのに
0.4でないと認識しない.
他のアイコンを誤認識してクリックしてしまいそうで不安 成果物を完成させられないです
基礎をガッチリやったほうがいいでしょうあ テトリスね。
昔チコットいじったな。ブロックを回転させるのに、90度づつ回したブロックをメモリに用意して
それを表示させてたんだけど、ちゃんとした?プログラムだと座標変換で計算して回わしてるんだね。
そっちのが遥に楽だったw
Pythonでつくるのは無理があるんじゃね?GUIが使えないと。 ラズパイのpygameサンプルにテトリスあるからできるというかむしろPythonは向いてると思う
リストの管理強いし テトリスもどきなんてC言語課題だろ
Pythonでできないわけがない グラフイックはどうするの?
python だけじゃ無理でしょ。 >>117
pygameでレクタングル描けばいいじゃん pygame開発終了しててpython3じゃ使えないやん
と思ったが最近更新して3サポートしてたんだな >>118
あ、こんなのあるの。
pythonってライブラリが多いね。 ライブラリが多いのが取り柄だろ。
言語としてはイマイチ。 イマイチではない
中規模以上の開発に不向きなだけだ 大規模開発に不向きとはいっても全然致命的なレベルじゃないのがPythonの恐ろしいところ
欠点感じてないなー Perlを触れる人は極少数、修行した上級者だけ
世界に何人もいない 大規模開発といっても、業務システムだと細かいサブシステムの集合体だよね。
サブシステム間はHTTPなどで通信する。
ブラウザみたいな巨大なバイナリをビルドするのと事情が異なるよね。 どんな言語にも欠点はある
欠点を理解してトレードオフの判断ができないうちは開発者としては四流 >>125
> 欠点感じてないなー
致命的な欠陥はない、それは事実
ただでかくなるにつれてどんどん辛くなってくるだけ 欠点と欠陥の違いも理解してないのか
四流どころの話じゃないな 規模が膨らむと型付け弱いのがネックよなぁ
まあ型ヒントとmypyで乗り切れん事もないが >>131
可読性考えるとやっぱり型ヒント書いた方が見やすいよな
個人的に不思議なのが何で動的型付けが流行ったのかが分からん 標準ライブラリですら型ヒント対応が全然できていないのがつらいなぁ。
いまだに極初期のTypeScriptみたいな感じ。 大規模プログラムは他の言語に任せて、Pythonはシンプルなままでいいよ。
シンプル過ぎてもいけないけど。 >>134
変数型なんてないほうがいいだろ。
CPUの都合でしかない。 >>134
>>138みたいなやつが増えたから流行ったんだろう >>134
> 個人的に不思議なのが何で動的型付けが流行ったのかが分からん
自分が見通せる程度のコードを書くなら型指定とか無い方が楽に書けるからだろ
>>138みたいな奴はそういうコードしか書いたことないんだと思う >>138
お前は高級言語を使いながらもCPUで直接扱える型しか使ってないのか? >>138
CPUからすれば型も何も全部01の羅列なんですが 喜び勇んでpython3.10ビルドしたけど愛用のモジュールがほぼコンパイルエラーぬ…いましばらく3.9
ml風のユニオン型かっこいい
パターンマッチ実装のPEP読んだ記憶あるんだけどあれエターナってないよね、布石だよね >>145
MLCも増えたし
量子コンピュータも現実化してきた 理論上最高効率なのは2.71828進法って話でもします? さいきんpythonチュートリアル読み始めた初心者だけどpythonのリスト内包表記とかおぼえて超イケイケコード書けるようになりました! >>151
すごいスレチだけどウィキペenならhttps://en.m.wikipedia.org/wiki/Radix_economy
下の関連項目のternary computer(ロシアで実用されてた)も合わせてどうぞ 無理矢理pythonの話に戻すけどcpythonならcの基本型も派生型も構造体も全部載せだから好きにするといいぞ!
最近のリリースではmemoryviewの操作性が向上したから多次元配列のリシェイプもインデックスも思いのままで、numpyやpillowみたいな大鉈使う機会が減ってとても良いと思います >>145
フラッシュメモリは0123だったりするな。 二次元配列に別の二次元配列をマージするにはどうしたらいいのでしょうか?開始地点も指定したいです。
https://ideone.com/2e69pv
得たい結果はこうです。
[1,0,0,2,2,3,0,1],
[1,0,0,2,2,3,0,1],
[1,0,0,0,0,0,0,1],
[1,0,0,0,0,0,0,1],
[1,0,0,0,0,0,0,1],
[1,0,0,0,0,0,0,1],
[1,0,0,0,0,0,0,1],
[1,0,0,0,0,0,0,1],
[1,1,1,1,1,1,1,1] ちなみにテトリスです
テトリミノを動かす事を考えていますです xをどこからどこまで動かすのか考えて。
その次はyを考える。xとyを別々に考えるんだ。 ありがとう
テトリスムズイ
>>159
godotです godotってなんやねん
Pythonじゃないやん ゲーム専用の言語?エンジン?なんてあるんだね。
なんでpythonスレで質問したwwだよね。 Pythonの生みの親が「引退は暇だから」とMicrosoft入り、ついにEXCELマクロでPythonが使えるように
https://leia.5ch.net/test/read.cgi/poverty/1605237284/ >>168
なんでダム板じゃないんだ?
おかしいだろ。 >>168に長いレス書き込もうとしたら過去スレになって書き込めなかったのでここに書くわ
467番組の途中ですがアフィサイトへの転載は禁止です
hoge_list = [0 for _ in range(10)]
これだけは違和感ある
>>467
これでいいんだぞ
hoge_list = [0] * 10
けど多次元リストを作るときはfor文が必要
hoge_list2 = [[0] * 10 for _ in range(10)]
もっとスマートに書きたいならnumpyのzerosメソッドを使おう
import numpy as np
hoge_list = np.zeros(10)
hoge_list2 = np.zeros((10, 10))
Python ドキュメント - プログラミングFAQ #多次元のリストを作るにはどうしますか?
https://docs.python.org/ja/3/faq/programming.html#how-do-i-create-a-multidimensional-list
numpy.zeros — NumPy v1.19 Manual
https://numpy.org/doc/stable/reference/generated/numpy.zeros.html builtinsの範囲でも何かとできるもんだよ
memoryview(b'/x00' * 100).cast('b', shape=(10, 10)).tolist() 動作確認ok
まあ型がキモい気もするけどそれを言えばnumpyも同じだし、どうせ配列演算するんだろうからtolistせず型付きのまま扱えばいいよ
memoryviewはスライスも自在だし本格的に線形/テンソル代数やるんで無ければnumpyほどの大道具は要らんはず 例にbytesリテラルを使ってしまったけどちゃんと適した型を使ってね
単にミューダブルで小さい整数ならbytesarray、足りなかったりfloat配列が欲しいならfrom array import array 実用性の無いハックのように見られそうなので一応言い訳
グラフや組み合わせのアルゴリズムなど整数を扱う用途ならbytesarray/memoryviewの方がnumpyより速くて多機能だからオススメ
なんたってbytesarrayは高度に最適化されたstrのメソッド全部継承してるから検索も置換も思いのまま Pythonの無料動画の神、キノコードの3時間動画が来たー!
Pythonの便利ライブラリ「Pandas入門コース」合併版|
Pandasの基本的なこと3時間で学べます【Python超入門コースの次におすすめの入門講座】
https://www.youtube.com/watch?v=XfoYeWCzjac >>171
元の pdf がただの画像なら画像を xml に貼れば良い
pdf から文字列や数値のデータを取り出したいという意味なら
それは xml に変換したいというのが見せかけの要望であって
本当に必要とされているものはデータの取り出しのはず 動画を3分割すると、1→2→3の順に視聴回数が減って
つまらない内容なのがバレてしまう テトリミノの表示分からんです
配列に配列をマージするかリプレースするには >>182
おまえは自己板に専スレをたてろとあれほど(ry 寺尾でも拒否された有害人物なのでは
もう構わない方がいいよそいつ >>174-175
横からだけどthx
メモリ上書き出来るんだな
新しい使い方を覚えた
>>> import ctypes
>>> f = ctypes.c_float(0.5)
>>> f
c_float(0.5)
>>> m = memoryview(f).cast('B', shape=(4,))
>>> m[3] = ord('@')
>>> f
c_float(2.0)
>>> m[:] = b'\x3a\xcd\x13\xbf'
>>> f
c_float(-0.5773502588272095) >>179
動画なんて時間の無駄ωω
自分でぐぐった方が早いωωω >>175-177
使い方がよく分からんからnumpyで良いわ
numpyはドキュメントの情報が豊富にあるし
Pythonで低レイヤーやるならRustでやるわ >>178
は、Pandas入門コース、1〜14 をつなげただけ
漏れは、バラバラの方がうっとおしい 最近async関連よく更新されてるから齧ったけどひどいなこれ
ジェネレータ/イテレータに加えてなんか特別な事してるんだろうと思って詰まり、
PEP読んだら特殊メソッドにa付けてawaitはyield fromの別名として互換性切るのが目的とか拍子抜けした
one right wayじゃないのかよ
https://www.python.org/dev/peps/pep-0492/
関数とジェネレータの違いがわかりにくいからasync defに変えると言うならジェネレータの宣言構文をgen defにでも変えれば良かった話で、4つも専用構文入れる入れる必要あったのかと
イテレータとコルーチンはコンセプトとして違うという主張をしてるけど、挙げられてる例からは全く理解出来ないんだけど
俺の勉強不足なの?みんなどう思ってるのこれ Pythonは行き詰まりの空気が漂ってきてるね
型表記のないシンプルなコード表記が持ち味なのに
型システムを取り入れたところでもう俺は見限ったよ 俺は型ヒントはアリだと思うぞ、mypyは煩いから普段切ってるけど
最近のリリースでtypingインポートしなくても標準コンテナでlist[int](indices)のように書けるようになったから
気軽に書けてすごく読みやすい
要らない人は要らないでいいしな
async構文導入はリスクが高すぎる
まだ暫く特定モジュールにio、threading、subprocessなど旧ライブラリを移植するに留めるらしいけど、やはり使う機会が多い物だから入り混じるかと…
旧ライブラリのインターフェイスはやはり古臭いし
python4.0になった瞬間に、これからopenは常にawaitableを返すのでasync forじゃないと回せませんよ
なら移行できると思うんだけど 型ヒントなんて付けるなら
型指定出来るほうがいいんじゃね? >>196
それな
あってもなくてもいい型ヒントなんて何の価値があるのか
やるなら型指定必須にすべきだし、そしてそうなったらもう他の言語でいいんじゃねって話になる
つまり何が言いたいかというと、Pythonは進化の袋小路に入って詰んでいる >>197
VS Codeだと定義した型が渡されなかったら、その部分を赤い線で強調するぞ
ただ、これは.pyファイルじゃないと適用されないみたい
俺は普段.ipynbで書いてるから.ipynbで適用されてほしいわ
[Python]PylanceのVS Code拡張機能をさっそく使ってみた。
https://qiita.com/simonritchie/items/33ca57cdb5cb2a12ae16 >>200
試してないけど、拡張子と言語モードの関連付けがされててもダメってこと? >>201
ダメだね
Pylanceは.py専用みたいだわ
.ipynbを開くのにJupyterという拡張機能使ってるから、それが型チェックを実装しないと型チェックしないと思う >>202
これかな?
https://github.com/microsoft/vscode-jupyter/issues/619
vs codeのnotebook対応が進めばpylanceがnotebookも認識するようになるみたい 【朗報】youtube-dl、復活
GitHub、削除した「youtube-dl」は著作権を侵害していなかったとして復元 - ITmedia NEWS
https://www.itmedia.co.jp/news/articles/2011/17/news070.html
公式サイト
https://youtube-dl.org/ Pythonで辞書機能を使って各食べ物の1円当たりのカロリーを計算するプログラムを作りたいのですが、下のプログラムを実行しても
、5×5個の文章が出てきてしまいます。どうすればいいでしょうか?教えてください…
dic = {"カレー":600,"ラーメン":700,"うどん":500,"お寿司":1200,"ハンバーグ":800}
for food,value, in dic. items():
dicc={"カレー":900,"ラーメン":1100,"うどん":500,"お寿司":800,"ハンバーグ":1000}
for foo,cal in dicc. items():
print(f"{food}の1円当たりのカロリーは{cal}/{value}です") >>205
dic = {"カレー":600,"ラーメン":700,"うどん":500,"お寿司":1200,"ハンバーグ":800}
dicc = {"カレー":900,"ラーメン":1100,"うどん":500,"お寿司":800,"ハンバーグ":1000}
for food,value in dic.items():
__print(f"{food}の1円当たりのカロリーは{dicc[food]/value}です") >>205
そりゃ2重ループになってるから、5×5の組合せで出力されるぞ
(なんだったら2つめのループがfoodじゃなくてfooで指定してるから、余計に変な出力になってる)
最初のdicを対象にループさせて、カロリー側はキーで取得しなきゃダメだろ
https://ideone.com/83zCJP >>209
詳しい解説ありがとうございます!
根本が違う上に、変な打ち間違いとかしてたんですね…
すごく参考になりました! x = -6
y = -6
としてから
id(x)
id(y)
としてみると、それらの値が違っているし、
x is y
の結果がFalseになる。
ところが
x=-3
y=-3
としてみると両者のidは同じで、
x is y
がTrueになる。
混乱する。 Pythonでは is は落とし穴だから避けるべき
使うとしたら is None くらいか だって「xの中身」と「yの中身」は同じでも
「x」と「y」は別物やん
人間的(´・ω・`) まずリテラルで作ったオブジェクトが同一(同じアドレス)である事を期待するのが間違い
むしろ一致することがある、ってのが実装依存の例外
文字列だってインターン(保存しといて使いまわし)しなければ同一オブジェクトを指さない 「is使うな」をダラダラ言い換えただけでは?無能だね 精神修行のためだろ
isとは何か座禅組んで考えさせるための
すると悟りが開け、全てが見えてくる
人間の覚醒を旨とした先進的な言語設計だ >>211
パフォーマンス向上のため-5から256までの数字は使い回されるらしい。
ただし実装依存の仕様なので必ずそうなるとは限らない。 ほえー面白いな
garbage collectionあたりの問題のやつだなそこらはエラーコードとかで使うからinstance一個に抑えてそれへのリンクで対応してるんだろうな
ポインタの概念隠蔽してもどっかでツケが回って来るだけよね(´・ω・`) 寧ろアドレス格納する領域に値含めて全部格納してるとかじゃないかな -5~256までのintのオブジェクトを格納した配列をプリアロケートしておいて
該当する数値へのインデックスを参照する形で使い回してる
#define _PY_NSMALLPOSINTS 257
#define _PY_NSMALLNEGINTS 5
PyLongObject* small_ints[_PY_NSMALLNEGINTS + _PY_NSMALLPOSINTS];
static inline PyObject* __PyLong_GetSmallInt_internal(int value)
{
PyThreadState *tstate = _PyThreadState_GET();
size_t index = _PY_NSMALLNEGINTS + value;
PyObject *obj = (PyObject*)tstate->interp->small_ints[index];
return obj;
}
使い回すようにした最初のコミット
https://github.com/python/cpython/commit/842d2ccdcd540399501a918b9724d2eaf5599f39 pysideで作成したGUIをpythonで表示すると、文字がボタンに納まらず、デザイナで作ったときと見た目が異なります
何が原因でしょうか? >>216
CPythonなら文字列の多くは勝手にinternされる
internするかどうかの仕様は3.6, 3.7, 3.8でそれぞれ違う mnistで特定の文字だけデータを取る方法を教えて欲しい
0だけとか1だけとか jupyterlab上でチェックボックスとかを使ってアノテーションしたいんですけど良い方法ありますか?
イメージとしては画像の感じです
https://i.imgur.com/viKxiHE.jpg class AAA(object):
□□aa = 1
□□def __init__(self):
□□□□self.aaaa = 10
class BBB(object):
□□def __init__(self, b):
□□□□self.b = b
bbb = BBB(11)
print(bbb.b) #11
class AAAのaaように、
クラスの直下に変数を記載するのと、__init__内に変数を記載する違いは何でしょうか?
ルールみたいなものがあれが教えてください。
class BBBのように、インスタンス作成時に変数を代入する場合は__init__内に変数を記載して、
それ以外はクラス直下に変数を記載する認識で大丈夫でしょうか。 クラス宣言直下に置いたオブジェクトは同クラスのすべてのインスタンスで共有される。
例えばリストなど変更可能オブジェクトををinitの外で宣言するとすべてのインスタンスから変更と参照ができる。 >>235
クラス直下はスタティックメンバ
__init__内での代入はインスタンスメンバ オブジェクト指向めんどくさい
クラスとかインスタンスとか考えてると時間がどんどん過ぎていくだけで
ちっともコードが完成しない
普通の構造化言語として使うのが最良だわ class Foo():
__a = [10]
__b = [1]
__def bar(self):
__self.a[0] = self.a[0] + 1
__self.b = [self.a[0] + self.b[0]]
なるほど・・・・地雷だな
https://ideone.com/LYh9cF >>236
ありがとうございます。
クラス直下と、__init__内でself付きで定義した場合、挙動が同じだったので
どっちに書くべきなのか迷う場合がありました。
>>237
ありがとうございます。
スッキリしました。 Pythonで競馬予想アプリ作りたいんだけどできるもんなの? じゃんけんゲームにちょっと毛が生えた程度のもんでいいだろw まず、競馬のデータベースにアクセスする方法を調べないといけない。
そして期待金額の高いオッズを見つけるアルゴリズムを研究する必要がある。
平均値くらいは中学生でも計算できるが、高度な予想は大学レベルの数学が必要。
現状では機械学習はそんなにたやすくない。 作ってあげたぞ
import random
umas=input(‘馬の名前を入力しよう(セミコロンで区切ってね):’).split(‘;’)
i=random.randint(0,len(umas)-1)
print(umas[i]+’が勝ちます!!’) >>251
クソスレ立てるなウジ虫
すき家とかかつやみたいな和食屋で外国人雇うな
https://mevius.5ch.net/test/read.cgi/tech/1607138691/
13 蟻人間 ◆T6xkBnTXz7B0 sage 2020/12/07(月) 19:09:17.13 ID:rNPNmVA2
>>11
いい所に来たな。ウェブ技術に関するあるプロジェクトがあるんだが、手伝ってくれるかい?
成果物は山分けだ。
HTTPもしくはHTTPS通信で、とあるURLにあるHTMLをダウンロードして画像を含めてレンダリングする。ただし、jQueryまたはPython3を使用する。
ここまで。
14 蟻人間 ◆T6xkBnTXz7B0 sage 2020/12/07(月) 19:25:06.23 ID:rNPNmVA2
いわゆるスクレイピングって言う技術だけど、それ以上のことがしたいんだ。
ホームページの構成要素を破壊するような動画を作りたい。まあ、実際に破壊する訳じゃないけど、ハッカーになりたい子どもたちの娯楽として役に立つらしい。 /src/
-setup.py
-main.py
てな感じのディレクトリで前後してコードを実行していくんだけど、中で相対パス多用するからos.chdir(os.path.dirname(__file__))でコードそれぞれでカレント固定したい
main.pyで__file__使うと、setup.pyで入れた__file__引きずっちゃってカレントうまく設定できないんだけど、解決法ないかな > お前は毎朝起きるたびに俺に負けたことを思い出すよ^^
あー、ホンッとに思い出すなあ(笑)
キチガイの嘘つきの低レベルFランの、
朝鮮ゴキブリBot君は、
チョン独特の「なにもできないけど俺のほうがジャップより偉い!」的な ことはよーくわかったよ。 ホントなにもできない朝鮮ゴキブリBot君!
クソチョンw
Pythonさえろくにできないバカチョンのくせに
できるとほざくクソチョンw
日本で強姦と窃盗を繰り返す
犯罪者在日のクソチョンw 今まで下のコードからbitflyerのohlcデータ取得してたけど今月からContent-Typeがjsonからtextになったぽくて取得できなくなったみたいで困ってます
r = requests.get("https://lightchart.bitflyer.com/api/ohlc?symbol=FX_BTC_JPY&period=m").json()
どうにかデータ抜きたいけど無理ですかね? デフォルトのUser-Agentだと403返されてるだけ、ブラウザのUAに偽装すれ >>267
ありがとうございます
引数にheaders偽装したらできました 具体的にこうしました
headers = {'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.95 Safari/537.36'}r = json.loads(requests.get("https://lightchart.bitflyer.com/api/ohlc?symbol=FX_BTC_JPY&period=m", headers=headers).text) >>265
こんなところでもジャップ湧くのかよww 高専の推薦入試の面接でプログラミングやってまーす!って答えたいんだけど、そのために質問に答えられるように今から最速でPythonの基本を身に着けたい。
どうすればいいかな? >>271
東京大学がPythonの標準テキストを無料で公開しているので、参考にしやがれ。cheatsheetも見ろよ。 >>271
そういうのぶっちゃけ時間の無駄なので学校の勉強をしっかりやったほうがいいぞ
とりあえずプログラミングやってまーす!的なのはすぐバレるし聞いてるほうも全く面白くない
高専に関係なくても自分が情熱をもってのめり込める何かに打ち込んだほうが人生にも入試にも有意義 「どんなことをしましたか?」って聞かれたときのためになんかソフト作ってみたら?それが一番勉強にもなるし、面接対策にもなる
テキトーに基本だけ覚えたところで、何のアピールにもならんと思うぞ。野球やってます!と言いながらバットの振り方とルールしか知らないみたいな感じになるぞ Pythonは脳細胞のある人間なら誰でも使えるから
何のアピールにもならんよ
アピールするならやはアセンブラとC
これらが使えるということは、コンピューティングの基本である
CPUとOSの基礎がわかっているということだから 知恵袋や寺尾ではどうやらそれっぽいのが本当にいるらしいよ 無脳症はそんなとこにおらんよ
病院から出ることなく死ぬだろ ×Pythonは脳細胞のある人間なら誰でも使える
○Pythonは脳細胞のある人間なら誰でも使えたような気になれる 「そのカエルみたいな 脳ミソのない子が どんな一生を送るというんだっ」
「 殺せーっ」
「そのほうが 慈悲なんだ!!」
無免許医最低だな pythonで何かアピールしたいならpython使ってなにかしないといかん
分析でもGUIアプリでもなんでもいいとは思うが形にできるレベルにならんとな だれか mypaint の github に、セレクションツール実装(範囲選択して移動だけでもいい)してくれない?
勉強とかメモのノート用にすごい便利なんだけど、セレクションツールがないのが致命的すぎる
フォークでいいから、一生のお願い😜
https://github.com/mypaint/mypaint 成長のチャンスと思ってやろうとしたけど、
中身がなんかいろいろ古すぎてこりゃあんまり勉強にならんなって思って…
GTK 使ってごりごり書いてるっぽいし、環境構築のやりかたも古くてクソ面倒なのよね… >>286
それこんな所に書くよりissueの一つでも立てたらどうなん? Pythonも使えないとかプログラミング根本的に向いてないだろ PyQtでwindowsからラズパイに移行したわ。 >>290
ごめん、でも言い過ぎでわ?
>>294
ありがとう、結構使い込んでるから出来ることは一応理解してるんだけど、いろいろ面倒だったり
「軽快な動作+きもてぃぃ書き心地+無限キャンパス」で個人的には唯一無二だから離れられなくて
一応 そこで言及されてる XJournal++ ってのも GitHub のプロジェクトみたいだし、試してみる djangoのお勉強中なのですがpipでbootstrapインストールとbase.htmlにcssリンクベタ貼りどっちがどうメリットデメリットあるんですか? Pythonは(brevityに次いで)マルチパラダイムの極限目指しているんだと思うけど(特にfunctional)、ちょっとML系(ocaml+微妙にhaskell?)の型システムに偏り過ぎてた節があった
でも怒涛のインターフェイス/プロトコル/メタクラス実装(何れもML系型システムより表現力が高いし、互換性がある)で上位互換になったは良いけど、
2つの型システムを悪魔合体した代償として一貫性が犠牲になってるんだよな
例えばobject/typeのissubclass/isinstance関係に何も正当性がない
(インタプリタで試して表を描いてみて
)
4系で矛盾のない型システムの実装を望む、願わくばML系排除で python凄いね。
こんな事できるんだね。
array[0], array[1],array[2],array[3] =array[3], array[1],array[2],array[0]
配列要素の入れ替えね。 NumPyならもっと簡単。
order=[3,2,1,0]
array=array[order] 簡単の定義によるなw
意味論的には分かりにくく感じる。※個人の感想です (a,b,c,d)= (d,c,b,a) はイマドキの言語ならたいがい出来るんじゃね? プログラミングを勉強し始めたら感じると思うんだけど、
書いたことの無いプログラムの書き方が出てきた時(こんな書き方もあるんだなぁ)程度に見ていいよね? >>305
無条件にスルーするのではなく、ちょっとは調べてみたら?
調べた結果今の自分にはまだ理解できなそうとか、そもそも調べ方すら分からないようなものは後回しにすればいいだろうけど。
自発的に調べる癖をつけると上達も早いぞ >>306
即レスサンクス
そういったプログラムは一応トレースしてるんだけどいまいち理解できなかったりするんだよね
ゴリゴリ書いていってれば分かるようになるかな? >>307
書いたことの無い書き方が出てくるってのは、もしかして写経でもやってるの?
もしそうだとしたら、闇雲にゴリゴリ書いたところで理解できるようになるには無駄に長い時間がかかりそう。分からないところは入門書とかで体系的に積み上げて理解したり、ただ写すのではなく考えながらコードを変更して動かすなど理解を深めていった方がいいと思う。 >>308
そうか、やっぱ参考書買おうかな
paizaで勉強してるけどこれだけじゃダメそうだな Excel用のライブラリのopenpyxlを使ってみたけど
これって、Excelへの書き込みは.pyを実行しても開いてるExcelファイルにはリアルタイムで反映されず
一々、セーブして開いて確認する認識でいいの? >>312
もちろんそうだろう
と、いうか、ライブラリで書き込み中に他のプロセスでファイルを開いてちゃいかんよ ファイルをwatchして読み取り専用で表示を更新してくれるようなViewerがあればいいかもね
openpyxlじゃなくてxlwingsならファイル操作じゃなくCOM経由でExcelを操作するから
リアルタイムでExcelの表示が更新されるよ >>315
xlwingsを軽くググったら、こっちの方が自分向きかもしれない >>305です
pythonの標準入力で、入力した文字列の中に判定文字が含まれればprintで表示、該当する文字列がなければ なし と表示したいです
で、コードを書いてみたけど何を入力しても "該当文字列なし" としか表示されないの
コードのどこがおかしいか教えてください。。
s = int(input()) #入力文字列の個数
search_string =str(input()) #判定文字
flag = True
for i in range(s):
string = input()
if string in search_string: #ここで文字が含まれるか判定
print(string)
flag == False
else:
break
if flag == True:
print("該当文字列なし") >>319
stringとsearch_stringが逆 こうですかね?
s = int(input())
search_string =str(input())
flag = True
for i in range(s):
string = input()
if search_string in string:
print(string)
flag = False
else:
continue
if flag == True:
print("該当文字列なし") >>325
ケツから2行目のif flag == True:は
if flag:だけでおk
それから
次のレスを書き込む前に>>1嫁 if flag == True:
ブール代数を勉強したなら↑これは↓こう書ける。
if flag:
あと
else:
continue
は必要なのかね。 >>326
>>327
まだまだ自分が甘ちゃんだということが分かったよ。。
インデントについてはすまぬ >>329
まだCランクの問題が解けたり解けなかったりってレベルですね
精進精進。。。 >>329
年寄りはダメか。
パイザの主人公、女子高生とかだしな。 pythonからプログラムに入るのか。
pythonとか便利すぎるからな、初めはCのが良い気がする。
まあ、いいんだけど。 >>333
表記がシンプルなんで学びやすそうな印象を受けたんですよね 主にCで飯を食ってる身だが必要に迫られない限りCのような旧石器時代の言語を勉強する必要はないと思うぞ
まあ静的型付けの言語を先に勉強すべきだとは思う
コンパイル通らないからPythonってのはダサいし害悪 >>336
動的型付け言語と静的型付け言語の違いって
型宣言の有無位ですかね?
いまいちどう違うのか分からない >>337
実行前に型が決定されるのが静的型付け
実行時に型が決定されるのが動的型付け pythonも結局速度が必要なところはc/c++じゃん。
機械学習ならpythonって言われるけど、どのライブラリもバックエンドはC/C++で、適材適所でpythonと協調動作している。
CもC++もここ10年でこれまでにない速さで進化してるし、勉強しておいて損はないと思うぞ。
あ、でも僕のおすすめはJavaかC#かな。洗練された膨大なAPIを眺めるのはとても有意義だからね
python覚えたらこれらの言語も是非 Javaが闇鍋とか言ってたらPythonは風呂とか便器とかのレベルだな Linuxカーネルは確かCで作ってある
カーネルを理解するのにCの理解は必要と思う
ちょっとしたツールを作りたいと言うなら
とっつきやすくすぐ動かせる言語が便利だと思う
人に使わせたいアプリケーションなら
実行性能とメンテナンス性の高い言語を選ぶと良い >>348
ありがとう。
ラズパイでPyQt5+eric6の環境なんですが、コーディングチェックにお勧めのツールをアドバイス頂けますか? メモリ16GB 以上のパソコンで、
Windows 10, WSL2, Docker などで、コーディングするのがベスト
VSCode で、Microsoft の拡張機能も入れる windowsのC#アプリ作るにVS2019Pro入れているけどVsCodeですか。
ところで文字列は" "でやってますが' 'じゃないと駄目ですか? >>350
ラズパイにPyQt5とeric6入れてVNCでQtDesignerでGUI設計しながらデバックしてます。
初めて通過するコードで綴りミスがあるとがっかりなんです。
バグなら納得しますが。 >>352
>”派’派
基本的には、好きな方でおk。
英語キーボードでは「”」はうちづらく「’」なら楽、らしいので
英語圏からのソースコピペをよくやるのならば「’」に統一した方が
足並みがそろうので多少は気分がいいかもしれない
ほかについては他の人のレスちゃんと読んでおk ちげーだろ
宗教的戒律によって「文字列は''で囲む」と決まっている
その主流派に従うかどうかは信心次第 みなさんありがとう。
もう一つ質問です。
ラズパイですが、AutoStartの「~/.config/lxsession/LXDE-pi/autostart」に
「/usr/bin/python3 /home/pi/Desktop/Test/main.py」としていますが、
カレントディレクトリが/home/piになっていているため、ソース内の.pngファイルが/home/piに存在しないためエラーになります。
.pngファイルはQt Desginerでボタンのアイコンで.uiファイルに記録されて、コンパイル後の.pyは“hoge.png”で”/home/pi/hoge.png”に書き換えないと動作しません。コンパイル後の.pyは触りたくないのですが、AutoStartで良い方法はありますか? シェルスクリプトなどに倣って、展開する予定がないならシングル、そうでないならダブル、という使い分けをしている派閥も多そうだけど(自分も)。
ちなみに、最近人気のBlackというフォーマッタは、ダブルへの統一を推奨している。 静的型付け言語見てみたけど、これ記述量が多いから大変だなあ
このご時世で一からコーディングすることってあるのかな 記述量が多くて大変って感覚がわからんけどね
スマホ世代でキー入力が余程苦手とか遅いとか? >>360
キーボード入力で変な癖がついちゃってブラインドタッチ出来ないの
ノールックでガンガン打てる人が羨ましい >>357
プログラムの引数にするか
外部設定ファイルから読み取る >>363
Qt Designerでボタンのアイコンにソースフォルダのhoge.pngを指定して、そのuiファイルをコンパイルするとpyファイルにQtGui.QPixmap("hoge.png")なってしまうので、pathを付けるにはpyファイルを編集することになるのです。
AutoStartでカレントディレクトリが指定出来れば良いのですが。
pythonから話題がそれますので、ラズパイへ移動します。 >>361
英字キーだけならほぼ移動無いけど
記号とか数字とかがからむと
メーカーや機種でキーボード上の位置かなり違う
眼瞑って打てる必要は無い >>364
それあるよね。
おれはshellファイルを作って。
pyuic5 -o ui_file.py file.ui
sed -i -e 's/hoge.png/\/home\/pi\/hoge.png/g' ui_file.py
みたいに力技で直してるw
正しい方法があるならオレも知りたい。 アプリ内の画像ファイルが、
/home/pi/hoge.png
こういう場所にあると想定されるのが、おかしい
アプリの作り方が間違っているのでは?
普通、アプリ内のリソースは、アプリのディレクトリ以下にあるはず。
/home/ユーザー名
の直下にあるのは、おかしい >>367
っていうか。
Qt Designerでフルパスで指定しても、出来上がったuiファイルの中身が相対パスになっちゃうんだよ。
その場で動かせばパスが通るんだけど、違う所だとパスが通らない。
まあ、Qt Designerのバグだと思うんだけど。 qtの問題じゃないのでは?
画像を全部Testディレクトリにぶっこんで、
/usr/bin/python3 ...
のところを
(cd ~/Desktop/Test; /usr/bin/python3 main.py)
に書き換えれば動くんじゃね 先頭でカレントディレクトリを変更
os.chdir(os.path.dirname(__file__)) >>370やな
エクセルVBAなんかでもよく初心者がつっかかってるとこやな >>368
解説ありがとうございます。
私もQt Designerの悪さと思います。
しょうがないのでui側でアイコン設定しないで継承する実体クラスにコードを書いてカレントディレクトリが/home/piならパスを反映させる様にしました。
でもQt Designerでアイコンとテキストのサイズ確認が出来ないのが不便です。 >>373
subprocessでディレクトリ移動しても駄目だった。 >>368
Qt Designer って、Qtを作っているプロが作っているのかな?
そんなプロが、場所を変えるだけで動かないような、アプリを作るかな?
ちょっとテストすれば分かるものだから、そんなプロがいるとは考えにくい
失礼な先入観かも知れないけど、
君らのアプリの作り方が間違っているのじゃないの?
失礼で、スマン ツールに頼る者はツールに泣く
ライブラリに頼る者はライブラリに泣く
これに懲りて他人依存のプログラミングはやめることだ
Pythonには標準で十分な機能が備わっている >>375
そう実際そうなんだよ。
こっちの使い方間違いのせんも大いにある。
だから詳しい人がいたら聞きたいんだよね。 >>375
プロはGUIの部分のテキストを作ってるだけなので
これはlinux shell scriptの制限 「Qt リソースファイル」で検索すればいいよ
変なこと言ってる人がたくさんいて驚く 画像のモザイク消したい場合、どのへんの勉強したらいいんでしょうか?
ganからやるべきなのか、既存のライブラリを使うべきなのか
deepmosaicというのを使ってみたけど、あんまりクリアにならない 普通に考えるとプログラム自身が使うリソースファイルを
フルパスで指定するってのは違和感あるな、配布等も考慮すると相対パスでアクセスできる方が都合が良いだろうし >>382
相対パスもカレントディレクトリが定まってないと意味無し
windowsはexeファイルがあるディレクトリのライブラリを読む仕様
要するに仕様を知らないで動かないのを自分以外のせいに
しないで >>368
>Qt Designerのバグだと思うんだけど
俺はPyQt使ったことないけど、Qt Designerは超使われているツールなんだろ
そんなのにこんなバグがあるっておいおいツールすぎじゃないか
Linuxは超ユーザー少なくてバク放置で良いって感じなのかな Qtインストールするときに/home/piを指定したんじゃないの?
デフォルトが/home/[user]/Qtってのも考えものだけどw
/usr/share/qt/とかにインストールし直してみては? Qt Designerでアイコンのファイルを指定するとファイルダイアログボックスが出て、ソースフォルダ内のhoge.pngファイルを選択すると.uiファイルには"hoge.png"が登録されて、変換後の.pyファイルにも"hoge.png"になるから相対パスが条件と思います。
AutoStartはパス指定が/home/piで呼び出すから、今回の問題となっています。 hoge.png が、相対パスになっているのなら、たぶん正しい
>AutoStartは、パス指定が/home/piで呼び出す
この決め打ちがおかしい。
このアプリは、まともなアプリなのか?
まともなアプリなら、設定できるはず。
その方法を調べれば? >>387
アプリがおかしいと言われてもmain.pyは以下の通りでMainWindowを呼び出すだけです。
from PyQt5.QtWidgets import QApplication
from mainform import MainWindow
if __name__ == "__main__":
import sys
app = QApplication(sys.argv)
Window = MainWindow()
Window.showFullScreen()
sys.exit(app.exec_())
フォルダー表示でmain.pyをクリックすればラズパイのThonnyが起動して、Runさせる分には相対パスでアイコンは現れます。
別のフォルダーに移動しても同様にアイコンは現れます。
AutoStartで起動するとNGです。
AutoStartの“~/.config/lxsession/LXDE-pi/AutoStart”ファイルには
/usr/bin/python3 /home/pi/Desktop/Test/main.py
としています。
このAutoStartファイルの書き方がおかしいのでしょうか?
cd /home/pi/Desktop/Testも入れてみましたが結果変わらずです。
アプリ側でフォームのラベルにカレントディレクトリを表示すると/home/piです。
# 現在のpathを取得する
import os
self.path = os.getcwd()
self.ui.testLabel.setText(self.path)
です。 「僕の思った通りに忖度してやってくれないからクソ」 スクリプトと同じフォルダにアイコンのファイルを配置できないならリソースファイルを使う
それだけ
autostartの話はともかく考え方としては>>367の言ってることは正しいよ >>390
ありがとうございます。
リソースにしたら問題解決しました。 Java と TypeScript ( JavaScript ) からは、Win32API 叩いたことあるんだけど、
それらと比べて、Python から Win32API 叩くのってどれくらい楽?難しい?
C++ とか除けば C# が一番ラクなのはとりあえず知ってる。 英語圏でも、characterの短縮語にも関わらず、チャーかカーが主流みたいよ。
残念ながら大佐は主流でないようだ… 256倍本に読み方が載ってる
pythonじゃなくてCのやつな >>390
アイコン等のリソースはどっかに配置したraw dataを直接指定ではなく
リソースファイルを通して扱うのが正しい(常識的)なやり方なんだろうな。 リソースファイルと言っても.pyファイルでimportで指定するだけ。
直接オブジェクトファイルを指定するとアプリディレクトリとカレントディレクトリが合わないと駄目で、何でimportだと良いのか理解は出来ていません。 https://dpaste.com/6HUZFQTQQ
九九の表を作るプログラミングを書いているんですが、nの段の終わりに改行したいです
現在のコードだ改行が二回入ってしますのですがなぜでしょうか >>402
rangeが1〜10になってるからiが9の時と10の時に改行が入る あ、そうか
なんで改行文字入れたんだ。。
ありがとうございます >>402
i判定の前にi表示して実行してみては? >>381
BOOTHにあるモザイク除去の技術書が良かったからオススメ OpenpyxlでExcelいじってるんだけど、列ごとの最終行のセルを調べたい。どうしたらいいの? ダメもとで、pythonのsliceみたくインデックスに-1指定してみるとか? len(ws['A'])
最終行以降に余計な書式がついてると意図しない数が返ってくるから結局自分でカウントするほうが無難かと Openpyxlって読み取り専用のExcelファイルに書き込みってできないですよね?
読み取り専用解除→書き込み→読み取り専用に戻すっていう処理はどうやって書けばいいんですかね? >>412
['A']
↑これ
顔文字にしかみえないw >>413
Read-onlyなファイルのこと?
ならSetFileAttributes。
ファイルがロックされてるときは無理。 QtCreatorでプログラム作ろうと思ったけど、PytQtのが圧倒的に楽なんで、
今更C++/Qtで書く気になれないよw >>419
EricでPyQtは?
ラズパイで使っているけど便利だよ。 組み込み関数にpartialを使いたいとき
キーワード引数はどう指定すれば良いですか?
例えばformat関数の第2引数を”02x” にしたいです >>422
format関数の第2引数はキーワード引数じゃなくね?
str.format()は知ってる? 数値が格納された配列に対して
mapを使って16進数文字列に出来るかというところで
色々と考えてます
hex関数だとゼロ埋めができず
format関数を使って試しました よく知らんけどキーワード引数でなくvar-positional引数らしいから無理じゃないかなあ。
関数定義したら
def bind02x(s, *args):
. return s.format(args[0], "02x", *args[1:]) >>425
array = [1, 10, 100, 1000]
myformat = '{:02x}'.format
list(map(myformat, array))
#=> [’01', '0a', '64', '3e8'] formatを使わない方法だとこんな感じか。
>>> print(("00"+hex(254)[2:])[-2:])
fe array = [1, 10, 100, 1000]
list(map(f'%02x', array)) >>all
みなさんありがとうございます
>>425
うまくいきました
print(list(map('{:02x}'.format, a)))
formatメソッドを使うことでformat関数の第二引数を固定するような感じなんですね
勉強になりました
>>426
勉強になります print("%s は %d です" %("値段", 100))
ってやちゃうけど、formatを使った方いいのか?
変わんないよね? >>434
こっちのがC言語のprintf()ぽくって好きなんだよね。 >>433
format文字列の方が自由度高いし柔軟、記述も簡潔 >>435
>print("%s は %d です" %("値段", 100))
a = "値段"
b = 100
print(f"{a:s} は {b:04d} です")
https://note.nkmk.me/python-f-strings/ 変数だけじゃなく{}内では
コードも展開されるよね
ほとんどeval Cはクソじゃない。
プログラマが神であることが前提なだけだ。 >>442
Python3.6.4で動かしてみたら、'str' object is not callable になった
当然だわな
もしかして最新のPythonでは動くのか?
それとも>>430が基地外なのか できる限り、python 3.4(XP最終)との互換性を考えて、
新しい使い方は極力控えるようにしてるな
廃止予定になるものはもちろん使わないけど
たとえば、subprocess.run()が使えないので、古くなったsubprocess.call()を使いたいところだけど、
subprocess.Popen()でなんとかなるので、こちらを使うようにしてる a= open('hoge.txt','r').readlines() ってやったら、どうやって close すればいいの?
勝手にクローズされるの? >>446
いんや>勝手にクローズ
でもってそのレベルはくだすれの方な >>446
クローズされるされない以前に凄げー書き方だなw >>448
すげーかな?
初心者あるあるあーだと思うが まあ、pythonとかperlとかから入った場合にありそうだな。
C言語から入ったらありえない書き方だよw >>446
Path.read_text()を使えばいいよ
Fileをopenして読み取ってcloseするのはめちゃくちゃ頻出パターンなので
便利メソッドが提供されてるほうが親切 >>451
ありがとう。調べてみる。
頻出パターンには関数用意しておいて欲しいな。またライブラリかよ。
あと、関数抜けたらガーベージコレクションしてくれ。 ループの中で使ったりしなければ
プロセス終了したらcloseされるやろ
ワンライナー程度なら問題無い
IDE内で使うとIDE終了までcloseされないことはあるかも >>450
rustやc++から入ったならあり得る書き方 言語としてオブジェクト指向が提供されてる言語を一個でも学んだなら普通
open に繋げるのが微妙なだけで何も凄くないごく普通の書き方
Cしか勉強してない奴には異常に見えるかもしれないが
Cしか勉強してない奴が異常者だと自覚した方がいい FileもDBも、OpenしたらCloseしなさいと教わりました Pythonだって基本はあけたらしめるぞ
基本的には。 >>459
__init__の対が__del__で
コンストラクタデストラクタなんだと
今ぐっぐて知ったわw えっと、そんな小難しい話ではなくて、単にreadlines()が勝手に閉めてくれているだけの話でしょ?
ましてや、デストラクタが勝手に閉めてくれると思っているなら、それこそとんでもない間違いだ。 ごめん。readlinesは閉めなかったわ。
常にwithと一緒に使っていたから、ほとんど意識してなかった。 >>457
知ってる!オープン・クローズ原則ってやつだよね! デストラクタがいつ呼ばれるかは保証されてないんじゃないの?
ほったらかしにすると再度開こうとしたときにすぐに開けなくなるから、ちゃんとcloseするかdelしたほうがいいよ Pythonは参照が切れた時点でGCに回収されるんだったかな
でもバグの原因になるから明示的にcloseすべき >>446の書き方だと、a にはファイルオブジェクトが入らないから
a.close() ってできないよな
滅茶苦茶怖いわ >>461-462 >>466
せやで
「openするならオートフラッシュなwithさん使ってーな」はPythonのきほんテクで インデントでスコープ付けるだけじゃダメだったんだろうかといつも疑問に思う open()なんてエラーが出る頻度が高い関数をエラーチェック無しに使うのが無理がある。 クラスの特殊メソッドをオーバーライドする時にint型との演算を別に定義する方法ってありますか? 特殊メソッドの定義の中で型判別して条件分岐とかになるんですかね? 超クソ初心者
for a in range(2,21):
sosuu=1
for j in range(2,a):
if a % j ==0:
sosuu=0
if sosuu ==1:
print(a,'(素数)')
else:
print(a)
これって一行一行どういうことが起こってるのが教えてほしい
『最初の一行「for a in range(2,21):」でaは2-21までの範囲を指してる』
的な感じの説明で。
2行目のsosuu=1とか3行目で何故(2.21)はダメで(2.a)だとしっかりできるのかが謎で
一つ一つ根本が知りたい sosuu に1を入れておき
その値が1のままだと素数
sosuu の値が1だと素数
では次の行の担当の方どうぞ @singledispatchが特殊メソッドに対しても直接使えるかどうかわからんけど、
条件分岐の方が結局のところ無難かつスピード的にも利点があるんじゃないかな? Ruby では、
results = [ 2 ]
( 2..12 ).each do |outer|
prime = true
( 2..outer ).each do |inner|
# 割り切れたら、素数ではない
prime = false if outer % inner == 0
if prime
results.push outer if prime
break
end
end
end
p results #=> [2, 3, 5, 7, 9, 11] >>476
修正
>results.push outer if prime
results.push outer ありがとう、条件分岐で良さそうですね
singledispatch知らなかったから面白そうなの知れて良かった
>>473
たぶんコードが読み解けない根本の勘違い部分だと思うけど一行目rangeが生成してる範囲は1-20
pythonで範囲を与えるときは基本的に左閉右開区間(右側に五条悟が居て辿り着けない)から覚えておくといいよ Ruby では範囲で、.. は終点を含む、... は終点を含まないから、
内側のループで、( 2...outer ) として、outer を含んじゃいけない
含むと例えば、7 % 7 = 0 と割り切れてしまう。
含めない場合は、7 % 2 から、7 % 6 まで、すべてで割り切れないから素数となる
results = [ ]
( 2..12 ).each do |outer|
prime = true
( 2...outer ).each do |inner|
# 割り切れたら、素数ではない
prime = false if outer % inner == 0
end
results.push outer if prime
end
p results #=> [2, 3, 5, 7, 11] 例えば、outer が7 の場合、
inner は、2〜6 で、余りouter % inner は、
7 % 2 = 1
7 % 3 = 1
7 % 4 = 3
7 % 5 = 2
7 % 6 = 1
すべてで割り切れないから、素数 実際は自分の数字まで探す必要はないよね。
21が素数かしらべたいなら、2から21/2 この場合だと11まで調べればOKだよね(半分を超えたら割りきれる分けがないんだから)
実際は√21までしらべればいいらしい。本当かはしらんがw >>483
m=abと素因数分解できる場合mの平方根まで調べればaかbのどっちかが見つかる
見つからなければ素数 なるほど。そっちのは知らなかった。
def is_prime(n):
__x = 2
__while x * x <= n: # 判定だけだから、sqrtじゃなくてもいいよね?
____if n % x == 0:
______return False
____x += 1
__return True もっと厳密に言えば、配列に順番に素数を入れていくから、
例えば、outer が7 の場合、既に[2, 3, 5]が入っていて、
inner は、2,3,5 だけ調べれば良い。
4,6 は調べる必要がない
つまり、それまでの素数で割り切れなければ、素数
5以上の素数は、6n + 1, 6n + 5 だけ。
6n + 3 は、3で割り切れる
7 % 2 = 1
7 % 3 = 1
7 % 4 = 3 → 不要
7 % 5 = 2
7 % 6 = 1 → 不要 ある値以下の素数を列挙したいならエラトステネスの篩でいいんじゃないの 関数内で呼び出すexecをグローバルコンテキストで
実行させるには第2引数に何を与えれば良いですか?
def func():
exec(“a=1”, ???) >>473
1嫁
+
Python初心者かつ5ch初心者は初心者板へ Numpyのアプデが来たな
iOSの変換だと
ナンピー→Numpy
ナンパイ→numpy
になるのは何故なのか >>484
Python じゃなくて数学スレみたくなるけど、
一つの整数を二つの整数の積にするとき、片方が必ず√N以下になるらしい。
例えば32を二つの整数の積であらわすと、約数が6個なので
1,2,4,8,16,32
1X32、2x16、4x8の三通りで片方はかならず√32以下となる。
だから平方根以下を調べればいい。って事らしい。 素数でなければ正の整数を因数分解すると必ず平方根より小さい数が現れるって当然のことと思ってたけど普段平方根なんて全く見ない人にとっては自明じゃないのか
元ネタはループと条件の練習だから無駄な探索を減らすとか考えてないんだろう >>503
偉そうに書いて不正確だ
平方根より小さい数が現れる→平方根以下の数が現れる pythonでseleniumを使ってスクレイピングをやり始めたのだが、
find_element系の話題てこのスレでいいの? お世話になります。
これからPythonでプログラミングを始めようと考えています。
今後プログラミングをするにあたってエディタは何を使えば良いかご意見を頂きたいです。
自分で調べてみて、visual studio codeやjupyter、atom等様々なものを見つけましたが、短期、中期、長期でみてどれが良いのか決めかねています。
・今の状態はAnacondaでインストールし、とりあえず万能そうなvisual studio 2019でhallo worldは出せた状態
・プログラムの経験としてはjavaを大学の授業で3単位分と、Arduino(マイコン)で少し遊んだことがある程度
・短期(実働約1ヶ月)の目標としては、GUI、webアプリの作成(手始めに4桁の数字を入力するとその年にオリンピックが開催されたか判定するアプリを作ってみようかと)
・中期(実働約3ヶ月)の目標としては、スクレイピングやデータ分析、簡単なAIを作成しての業務の半自動化(オリンピック判定アプリの強化、Twitterでフォローされた際にフォローバックするべきか判定するアプリ等)
・長期(実働1年以上)の目標としては、難しいAIを作成しての業務の自動化、データサイエンティストとして通用するレベルの能力(オリンピック判定アプリの最強化、自動ツイートや自動リプライの作成アプリ)
・勉強手段は図書館の書籍やwebページ、掲示板での質問等による独学
・仕事を辞めたので時間はあります、やる気もあります
以上のことを踏まえて以下のことにお答え頂けると嬉しいです。
1,みなさんの開発環境及びその理由
2,短期目標に合ったエディタとその理由、他に検討したもの
3,中期目標に合ったエディタとその理由、他に検討したもの
4,長期目標に合ったエディタとその理由、他に検討したもの
5,おすすめの学習方法、コミュニティ等
6,その他(目標に無理がある、致命的な勘違いがある等)
1〜6のうち1つだけでも良いので回答頂けるととても嬉しいです。
良かったらよろしくおねがいします。 オリンピック判定アプリにAI必要だろうか?という疑問は別にして
オレはSublime Text使ってる。
仕事でちょこっとDNN使うけどそれはJupyterNotebook上で走らすだけ。
SublimeはシフトJIS使えないからその時はNotepad++。 >>508さん
ありがとうございます!
VSCodeは拡張機能が充実していたりLinuxに対応している等が理由でしょうか。
良かったら理由も教えて頂けると嬉しいです!
>>509さん
ありがとうございます!
Sublime Textはハイパフォーマンスな代わりに初学者には難しいかもしれないという紹介を見つけました。
良かったらそのあたりのご意見を頂けるととても助かります! >>507です
>>509さん
すみません、オリンピック判定アプリにAIは必要かという話を忘れてレスしてしまいました。
過去のものを判定する際には不要だと思いますが、未来の開催を判定する際にはニュースサイトの記事や
各国のGDPの推移等から予測するAIが必要かなと考えました。
結構しっかりしたAIじゃないといけないと思うので、長期目標にちょうど良いかなと設定してみました。
途中でもっと良い目標を見つけたら変えるとは思います。
連投失礼しました。 何をそんなに難しく構えるのかわからない
エディタなんてメモ帳で十分 >>507
時間はあるんだし、自分で情報を探すこともできそうなんだから人の意見から最適なものを探そうとするより自分でいろいろ試して自分に合うものを探した方がいいと思うよ MS visual studioじゃダメなの?
昭和のときてあれ有料だったよな。
池袋の菓子ソフト屋で借りてコピーした覚えが。 やっぱりPyCharm
ちゃんと使えるようになったら他の環境には戻れないよ viで十分と言いたいが、これから始めるなら機能が充実したヤツのがいいね。
おれはvscodeを使ってみたけど、イライラしてviに戻ったw vi使いにくいからvim使うかな。
Visual Studioって、Visual Studio Codeのことだよね? >>507
勝又健太の最新版、Web系エンジニアを目指す手順書
KENTA、2021/02/01
Web系エンジニアを目指す人のためのプログラミング学習ロードマップ
https://www.youtube.com/watch?v=0TABrlhci5M
Ruby on Rails, VSCode
2019/9
「AIや機械学習に興味があるのでPythonから勉強」は誤りです。【YAGNIの法則】
https://www.youtube.com/watch?v=dRSsdsw0-r8
これを見ても、どうしてもPythonを学びたいのなら、キノコードの動画を見ろ 長期的に見るならpycharm
やりたい事が楽に全部出来る 逆でしょ
長期的にはいずれPython以外も触ることになるからVSCodeへ移ることになる VSCodeじゃなくIntelliJ IDEA Ultimateに移ればいい >>503
2の56乗と
5の24乗と
どちらが大きいか
理由とともに答えよ
(某中学校入試) >>526
某とか書かないで学校名教えてよ。
累乗は中学で習うから中学入試では出せないはず。 中学入試って事は、対象は小学生だろ
あり得なくない? そもそも何の意図でこれ書いたのか
別に閃きを必要とするような問題でもないし
Pythonスレ的な解答は計算して比較しろだな
人間はそんなアホらしいことしないけど 2^14=16384
5^6=15625
2^56=(2^14)^4
5^24=(5^6)^4 >>530-531
このやりとりにプチわろたw
>>528
いわゆる名門私学は平気で既学習対象外のこともきいてくる傾向 >>507です みなさんたくさんのご意見ありがとうございました。どれもとても参考になりました。
自分で色々触ってみて、とりあえずはVSCodeを使っていこうと決めました。非常に軽くUIも好み、他の言語への触れやすさやプラグインによるカスタマイズ性もあるというのが主な理由です。
その時その時のやりたいこと等に合わせて変えていこうと思います。
ありがとうございました。以下は個別返信
>>512さん レスありがとうございます。
確かにおっしゃるとおりかもしれませんね。少しやる気が空回りしてしまったのだと思います。
エディタ選択に完璧を求めず、まずはコードを書けるようになることを目指したいと思います。
>>513さん レスありがとうございます。
環境構築が苦手なのでできるだけ少ない試行で選べたら良いなと思っていましたが考え方が甘かったですね。仰る通り自分の手に馴染むものを自分で見つけるのが一番だと実際にやってみて思いました。
それとなんだかんだで楽しかったです。
>>514さん レスありがとうございます。
昔のことは存じ上げませんが、MS visual studioはコミュニティという個人用のやつが今は無料で使えます。
コード補完機能や色分け等が便利で、起動が遅い以外は気に入っていたのですが、逆にもっと便利なのがあるのでは!?と感じるきっかけにもなったので今回質問させて頂きました。 >>515さん レスありがとうございます。
spyderはAnacondaに最初から入っていて導入が簡単でした。
MS Visual Studio2019よりは速いですが、少しもっさりした起動時間と、コード補完機能の候補が表示されるまでのラグが少し気になりましたね。
データサイエンスに強いエディタらしいので、今後頼りにすることがあるかもしれません。
>>516さん レスありがとうございます。
PyCharmは無料版ですが触ってみてすごく良さげでした。起動も快適で特にコード補完機能が1文字ずつ埋まっていく感じとか初学者にはすごく良かったです。
ただ、有料版がなかなかお高いですね。調べてみたらVSCodeのプラグインで同様の事ができるようになるみたいです。
>>517さん >>518さん レスありがとうございます。
Visual Studioには後ろに2017や2019という数字がついていて機能がやたら多いどっしりしたものと、Visual Studio Codeという後からプラグインで自分で使いやすくしてね的な軽いものがあります。
質問の段階で私が使っていたのはどっしりしている方の2019でした。
viはvimの前進のものですよね。vimは軽く触っただけだと普通のエディタでしたが、調べてみてすごく良いぃ!と思いました。
私自身トラッキングポイントやマウスジェスチャ、親指シフト入力等を使っているようなゲテモノなのですが同じニオイを感じましたね。
ただ流石に最初はローマ字入力や普通のマウスから入ったので、エディタもまずは普通の操作感のものから使ってみようと思います。後で使ってみたいエディタ筆頭ですね。
>>519さん レスありがとうございます。
IDLEはシンプルなのは良いのですが、逆にシンプル過ぎて使いこなせない感がありました。
本当に基礎からできている方々はこういうエディタが一番しっくりくるのかなーとか思いましたね。 >>520さん 資料ありがとうございます。
この方はWEB系の就職を前提として話を展開されていらっしゃいますね。
私はどちらかと言うと最初からAIやデータサイエンスを活用しようという人間なのでPythonで合っていると思います。
キノコードさんの動画はとても良い教材を教えて頂きました。勉強に活用していきたいと思います。
>>521さん レスありがとうございます。
先の内容と重複してしまいますが、すごく良いエディタだと思いました。VSCodeのプラグインを使っても補いきれないと感じたら検討してみようと思います。
>>522 レスありがとうございます。
最終的にどこまでプログラミングを極めるかはわかりませんが、選択肢は多いほうが良いですよね。
それもあってVSCodeを選びました。
>>523さん レスありがとうございます。
IntelliJ IDEA Ultimateは公式からの機能が充実している代わりに有料みたいですね。
まだまだ初心者なので、とりあえずは無料のものでやってみようと思います。
>>524さん レスありがとうございます。
そうですね。そういうつもりで調べていましたが意外とそういった機能がついているエディタは多いみたいで、大体のものについていました。
結構基本的な機能なのかもしれませんね。 YouTubeのプログラミング系動画はあんまり鵜呑みにしない方がいいでしょ
詐欺師みたいなやつしか居ない YouTubeみるよりドキュメント読んだ方が楽なんだけど
それが理解できない層はYouTube見て変な方向行くんだろう テレビは嘘ばっかり。
不利な情報は発信しない
でも、YouTube はだませない。
KENTA は日本6位のサロン。
嘘なら、文句ばっかり書かれる
だから、Ruby on Rails しか薦めない
もし、Java, PHP, Python を対象にすると、
数年間も就職できない香具師がサロンに集まって、
そいつらが、KENTAのせいで就職できないと大暴れして、サロンが崩壊するから
だから、嘘を付けない。
Java, PHP, Python で就職できますって言えない
就職できても、KENTAのせいで年収200万円以下だったとか、
無茶苦茶言われるから、Rails 以外を勧められない Rubyってスマホアプリ作れるよね
Pythonは知らんが Ruby で、スマホアプリは聞かない。
組み込みの本は出た
Webで使えるmrubyシステムプログラミング入門、近藤宇智朗、2020/11
宇宙開発などの組み込み用、MicroPython, Lua, Squirrel の代替になる。
Ubuntu 18.04, C99 対応
人工衛星イザナギ・イザナミで、使っている んんん、perlからpythonに移ったが今のところ
perl << python だな。
rubyをやる意味があるのかわからんが、pythonを超えられるのか? HashiCorp の時価総額は5,000億円、GitHub は8,000億円で、
Shopify は15兆円で、
Airbnb は10兆円で、米ホテル大手3社の合計を超える
Ruby on Rails だと、社員1,000人で、1兆円ぐらい行く。
他の言語の10倍ぐらい高いのでは? ディープステートとかコロナは茶番とかの陰謀論系も信じてそう 5chで「お世話になります。」って、なんだか・・・
まだ「教えろ下さい」の方がしっくり馴染むのは
俺がすっかり5ch民になった証拠か。 ・当スレにRubyのソースコード類を書くことを禁ず
・Ruby等、Pythonではないプログラミング言語での回答類・質問を書くのも禁止
・「Ruby では」「Rubyでは」をNGワード登録推奨 コマンドラインで動くpop3のプログラムないかな?って検索したら
pythonのサンプルプログラムがあった。
pythonは何でもあるなw 最近のwindows のアップデートで
PyAutoGUIでマウス操作自動化できないモード
ぽいのが出来た気がする
今まで自動クリックできてたのにできなくなった テレワークでエクセル処理を自動化して欲しくない会社が沢山いて
要望をmsが取り入れた感じかな? 誰も聞いてないのにRubyのサンプルコード貼り始めるしな >>557
イイネ!!(・∀・)とおもったけど
やめてさしあげろw
ここの基地はルビスレでとっくに出禁のはず
>>554-555
同意w >>549
そのあたりのプロトコルなんぞ、telnetだけで十分だろ。 """
"""
これで囲むと一気にコメントアウトできるんだね。
知らんかった。超便利w これ実はかなり危険な兆候で、
pythonから入ると複数行コメントがあるということ自体を知らないままやってる奴が多いんじゃなかろうか 君たち…
それはコメントアウトとは違うぞ
違いがわかってないのが危険な兆候 複数行コメントじゃなく複数行文字列ですねぇ
ヒアドキュメントなら間違いでもなかろうが
まぁ似て非なる物を区別出来ないのは世の常 >>565
multiline stringとかtriple-quoted stringと呼ばれる文字列
docstringとしても使われる
文字列として利用されない箇所に書いた場合は
読み捨てられるのでコメントっぽく見えてるだけ
事故る可能性が高いから
コメントアウトするキーボードショートカットを覚えたほうがいい >>563
今日日エディタのショートカットで複数行コメントアウトできるじゃん
コメントアウト如きで「かなり危険な兆候」は草生える 今日日?
エディタのコマンドで複数行コメントアウトできなかったのって何年前まで遡るの?
知らんけど30年くらい?それとも50年くらい?
言語仕様くらい理解して書くべき >>570
言語仕様とエディタの仕様を混同してるの?!!?! >>569
1行目と2行目に関連ないだろ
バカの思考回路はよくわからんわw 上の段落は皮肉で下の段落は指摘でしょ
別に混同してるようには見えないけど >>573
どんな超解釈したらそうなるんだよ
プログラムの前に国語を勉強しろ >>571-572
そんなんできるんだ。
FORTRAN みたいでカッコいいな。 よく話題を把握できないが、/* */ 的なモノが Python には無いというコトでつか? func='''
print("a")
print("b")
'''
print(func)
exec(func) >>575
いや、そもそもコメントじゃないのにコメントの話ししてるのが危険な兆候なわけで… >>578
そう
複数行コメントと言われているのは文字列リテラルを置いているだけ
print(‘aaa’)
123
print(‘bbb’)
のように脈絡なく値を書いているのと同じ tesseractの他にocrのライブラリってありますか?
教えて下さい。、よろしくお願いします。 >>581
それはダメなの?
>>571 が正しいの? PyQt5なんですが、環境はeric6でラズパイです。
eric6のエディタでクラス変数にドットをタイプしたらメンバー関数などの候補表示出来ないかな? >>583
>>572の通り
OSSのソースコード読んでみな Python3.9の型ヒントの修正影響大きいな
これからの開発は3.9前提にしとかないと数年後死にそう
使わない人は関係無いけど 型の指定が不要な点がPytthonの大きな利点だったのに何で日和ったのかな >>586
3.9の変更のサイトみたけど、ふーんとしか思えない。
いや、型指定できるリストなんて知らなかったw
型指定できるリストって何が便利なの?
誤った要素を追加されないって事? 処理スピードが早い? >>585
2つ質問。
github とかのソースコードも見たことあるけど、
「アスタリスク」を先頭に書くってのは見たことない。
実際実行するとエラーになるし。どうやってつかうの?
>>581 のように脈絡なく数値を書くのはダメなの? >>590
>誤った要素を追加されないって事?
>処理スピードが早い?
どっちもハズレ
外部の型検査ツールの動作のヒントになるだけで、処理系の動作には関与しない
(ことになっているが、dataclassなど一部の機能は型アノテーションに基づいている)
TypeScript全盛期の世の中になっても型検査の恩恵が理解できなったMatzのようなアホは使う必要がないし、使わなくていいようになっている >>592
わずかにCPUやメモリを食う以外に悪さをしないなら別にいいと思うが >>591
アスタリスク*とナンバマーク#の区別もつかない池沼が書いたレスを真に受けてはいけない docstringとコメントの違いをご存じない人がいる... ある程度の規模のプロジェクトなら型ヒント必須だよね
コーディング楽だもの 型ヒント必須にするくらいならC#やGo使ったほうがいいでしょ
TypeScriptはブラウザのJSしばりがあるから意味があるわけで ある程度の規模のプロジェクトならpythonで書かない方が良い >>597
必須にするならまだいいんだけど必須じゃないから困る
型ヒントのあるものないものソースが入り乱れて流通するのは先行き不安だ 本当にプログラムが作りやすい時代になったね。
pyqtでドロップしたときに、どのwidgetにドロップされたのかポジションを便りに検索しようと思ってたんだけど
うまく動かない。
んんん、と検索したら海外のサイトでオレとまったく同じ問題で悩んでる人がいて質問してるのね。
で、見事に回答されている。
その方法を自分のプログラムに組み込んだら動いた。
これって、Qtの人が答えてるのかね?それとも一般の詳しい人なのだろうか? 21世紀特有のネットワーク化された100億人だ
99.99%のことはもう他の誰かがやっている
ついでに英語 pandas でエクセルで言うsumproductをどう命令すればよいかわからん。
1列目は固定で2列目との積は出せるんだが3列目以降はどうすればいいのかな。
全行書くならできるんだがさすがにそれは... df = pd.DataFrame([[1, 2, -3, -4], [5, -6, 7, 8]])
df.product().sum()
#=> -60
df.product(axis=1).sum()
#=> -1656 Pytorch tensorflow
今から始めるならどっちがいいですか? 聞かれてもいない うぴy や レils のはなしをする香具師は逝ってヨシ
Pytorch tensorflow はセーフ コードナビゲーション、コードジャンプの話
VSCode 使ってるんだけど、Go To Definition じゃなくて
Go To Implementation みたいな C言語 も含めたガチ実装を見たいんだけど
なんか上手いことやってる人いますか?
Go To Definition だと、pyi みたいなインターフェースしか見れなかったりするから
本当になにやってるのか関数の中身を見てみたいです githubのcpythonのParserのparser.cにありそうな気もするがそこだけで2.5万行ある pipが駄目ならcondaを使えば良いじゃない。by マリー >>614
Pythonには簡単にCの定義に飛べるような便利機能やライブラリはない(知らない)ので
CPythonのソースをGithubで見るかローカルに落として見るか
built-in関数ならbltinmodule.c (lenならbuiltin_lenで定義されてる)
built-inのオブジェクトなら/Objects, 標準ライブラリなら/Lib >>618
ホントは言ってないやつだ
それルソーの告白に書いてあった記述らしい
どうでもいい話でごめん >>619
ありがとう!
やっぱり GitHub で見るしかないか
なんとか自分でできないか、もう少し調べてみます Pythonを2年以上使ってきてjitを初めて使った
速いなあ!
40倍とか100倍になる
だが@jitだけで終わるものは少なく
大抵は関数の引数返り値書く必要があり
配列の形も書くしクラスもメンバー書くし
ライブラリ呼んできてわざわざnumpyにしてそれから関数にいれるとか大変だねw どうせ大概のプログラムだと、うまく動かないんだろ。 速度が必要ならPython使わない方がいい
Pythonのライブラリが欲しい場合もその部分だけ使えばいい >>625
あるプラットフォームではint32だったのが別だとint64になったり
一々print(type())で調べるかそれでダメならnumpy.int32()でキャストするとかまあ面倒 Python3.9でpip installできない外部ライブラリがある場合は別バージョンのPythonを使う
ls /usr/bin | grep --color=auto -i 'python'
/usr/bin/python3.7 -m venv "$HOME/venv/py37"
chmod +x "HOME/venv/py37/bin/activate"
source "HOME/venv/py37/bin/activate"
py37) $ pip -V
py37) $ pip install -U pip jupyterlab
py37) $ jupyter lab --notebook-dir="$HOME/kr/jupyter_notebook/" --browser='/usr/bin/google-chrome'
$HOME/.local/share/applications/にpython37.desktopとして保存
[Desktop Entry]
Name=python37
Exec=lxterminal -e "jupyter lab --notebook-dir="$HOME/kr/jupyter_notebook/" --browser='/usr/bin/google-chrome'; bash"
Terminal=false
Type=Application
Icon=/home/<ユーザー名>/Pictures/icon/jupyter.png ls /usr/bin | grep --color=auto -i 'python'
/usr/bin/python3.7 -m venv "$HOME/venv/py37"
chmod +x "$HOME/venv/py37/bin/activate"
source "$HOME/venv/py37/bin/activate"
py37) $ pip -V
py37) $ pip install -U pip jupyterlab
py37) $ jupyter lab --notebook-dir="$HOME/kr/jupyter_notebook/" --browser='/usr/bin/google-chrome'
$HOME/.local/share/applications/にpython37.desktopとして保存後に
python37.desktopファイルをデスクトップ等にドラッグアンドドロップ
[Desktop Entry]
Name=python37
Exec=lxterminal -e "source "$HOME/venv/py37/bin/activate" && jupyter lab --notebook-dir="$HOME/kr/jupyter_notebook/" --browser='/usr/bin/google-chrome'; bash"
Terminal=false
Type=Application
Icon=/home/<ユーザー名>/Pictures/icon/jupyter.png
セルに!python3 -Vと入力して実行し、pythonのバージョンを確認 非互換パッケシステム移行中(PEP517)、pipの機能制限(search)と過渡期だから今はマネージャで一発依存解決ってなくなったね
マネージャでの提供やめるプロジェクトも増えてきたし
今の環境で足りてるならそのまま使って、アップデートする必要が出たら手動でダウンロードして管理した方が楽だね
しばらくの我慢 # Step 3: Handle the Clipboard Content and Launch the Browser
import webbrowser, pyperclip
keyword = pyperclip.paste()
webbrowser.get('firefox').open('=k?s/pj.oc.nozama.www//:sptth'[::-1] + keyword)
webbrowser.get('firefox').open('=q?hcraes/moc.rettiwt//:sptth'[::-1] + keyword)
webbrowser.get('firefox').open('/11retpahc/moc.ffutsgnirobehtetamotua//:sptth'[::-1]) Atomで作成したpythonファイルをコマンドプロンプトで実行したいのですが、pythonファイルをコマンドプロンプトにドラッグして実行すると
SyntaxError: unexpected character after line continuation character
と表示されます。ネットで調べると文字列に不備があるとこのエラーが出る様なのですが
print("hello world")に間違いがあるとは思えません。他にどの様な原因が考えられますでしょうか。 Excelファイルを操作したいんだけど
プログラムをスタートしてからフォルダを開いて操作対象のブックを
指定するのはどうすればいいの?
最初から該当ファイル名をプログラム内にフルパスで書いておかないと駄目なの? インターネット接続できず、pipとかが動作しない環境でDjangoとか使いたいのだけど、
同じバージョンのPython導入したインターネット接続できるPCで仮想環境作って、
pipで必要なもの導入して、その仮想環境のディレクトリを丸ごとコピーすれば大丈夫?
あと、OSはWindowsで、Pythonのインストール先が異なるのですが、それでも大丈夫?
python.exeへのPATHとか通せるのですが >>638
どっちも
ファイル移動後の環境設定ウルトラがんばればー? >>638
そういう場合はDockerを使った方が良い
@ネットに繋がる環境でDocker上に開発環境を一通り整える
A@で作ったDockerイメージをエクスポートする
B閉鎖環境の方でDockerをローカルインストールする
CAで作ったtarファイルをインポートする
D閉鎖環境でコンテナ立ち上げて、VSCodeとか使ってリモート接続して開発する
こういう感じ、Docker何それおいしいの?っていうレベルなら諦めろ >>640
閉鎖環境はAdministrator権限もない仮想デスクトップでしかないので、
Dockerはセットアップ不能っぽいです
開発用Python一式まるごと入ったコンテナというのも、ちょっとなぁとも… >>841
じゃあ泥臭いやり方だけど、必要なwhlファイル全部集めて
閉鎖環境でpip使ってオフラインインストールする
(関連パッケージを一括で集める方法があったか微妙だけど) >>642
>関連パッケージを一括で集める方法
pipで入ってるものリストを出せるから
それ見て集めるか
自分でだうんろだ作るとか、だうんろだのジョブリストに投げるとかして
pipでローカルファイルからインストールする方法使って入れる Python上でxlsファイルを書式を保持したままxlsxファイルで保存はできぬの? Excelの操作をわざわざ別言語を一段挟んでやる意味がわからない
Excelの操作はExcelでやるべきだ VBAのようなものも使いたくないので
結論としてはExcelを使わない方がいい PyXLLかxlwingsを使えってmsが言ってた >>645
なんもかんもVBAが悪い
ユニットテストとリファクタリングをサポートしてない言語よりも
Pythonの方が色々と管理しやすい 一度DataFrameの便利さを味わってしまうと
VBAに戻る気しないよなぁ
Stackoverflow辺りが沢山情報が有ったと思う データ処理というか表計算には便利だけどねExcel
システムやらツールやらに組み込むのはイケてないなと思う >>648
そんこと言ってるから>>644みたいなヤツが出てくるんだろ
実家に住んで親のすねかじってるくせに親から干渉されたくないみたいな Excelファイルの操作はマイクロソフト製品を使っておかないとサポート対象外になるからな。 >>652
使っててもサポートなんてしてくれないけどねw
.xlsxフォーマットになってからはマシになったけど昔はバージョン違う奴で編集したらファイルが壊れるのを何回か経験したし XLSファイルの書式(xf4)が読めるのはxlrtだけかな?
openpyxlで読めればかなり」楽だけど 貧乏人なのでgoogle spread sheet派のワイ
低みの見物 大学の同級生(パソコン音痴)が卒論でアンケート集計するときにめちゃくちゃな方法でやってたし、マウスで思うがままにグリグリできるexcelは彼らにとって不幸なのかもしれない。 >>654
あぼんまでいかなくてもレイアウト崩壊はいまでもあるあるーだな
>>656
くやしいわろらされたwww
>>658
グラフ捏するために貧乏研なのに教授がPC音痴なのをいいことにイラレ買わせた
くっそドクターコースおったおった… Excelはxls形式にしてもxlsx形式にしても、読むだけにしといた方がと pythonからexcel!って飛び付いたけどいつの間にやらvbaの方がいいやって思うようになったわ
とりあえずexcel入門には悪くないと思うが 言語としての良し悪しと、使い勝手の良し悪しは、往々にしてリンクしないものよ
ことExcelについてはVBAが標準であり、業界標準でもあるのだからして、
そこにおいてはVBAの方がPythonよりも優れている
PythonでExcelのファイルを扱おうとするのなら、Pythonでやれる範囲を正しく把握して
しっかり考えながら作らないと、Pythonでは所定のセルに数式を埋め込むだけで
実際の処理は相変わらずExcelがやる、みたいな微妙なモノができることになる 何故微妙。
シートを単なる用紙として使う方が、役割分担としてどうなん?という気がする。 >>662
それVBAだって同じだよ
処理の分界点の設計ができてないとそうなる Excelを表計算ツールとして使わないならExcelを使わない方がいい excelは因子分析周りとか異様に高度な機能揃っててAPI引けるのは助かるけど、デカいファイルは向かなかったりするな
pythonでもpandasで頑張ればエミュれるからお好きな方で
もっとデカいと基本全部メモリに載せるpdも諦めてioあたりに入ってるストリームで頑張ることになるが 一旦整形処理してしまえばpythonもexcelもネイティブでデータベース対応してるのでいける
excelにはsqlite3等フリーのdbより高機能なaccessと連携できる強みがあるが、セルの描画を最終結果を得るときだけ行うなど本質以外のおまじないが多くなりがち
学習コストが高い accessはメーカーpc同梱の下位版Officeには付いてなかったりするから、結構値が張るのがつらいな
昔は無駄に付いてたもんだけど
高度な事やりたいなら、python標準ライブラリ同梱でexcelからも接続できるsqlite3を軸に学んで、必要な機能を必要に応じて引くのが一番スケーラブルで楽かもしらん
流行りのデータ処理ならローカル向けのsqlite3が必要十分
なによりpython公式お墨付きだしな >>668
昔からProfessional以上にしか付いてないよ
無駄に付けられる環境、羨ましいなー >>669
大学の学生ライセンスに付いてたのずっと使ってるけど良心的だったんだな…
プロユースのソフトを買えとはとても言えないからAccessの話は忘れてくれ
他の学生ライセンスで買ったのは(ChemOfficeなど)卒業時に認証切れで動かなくなったけど、これ使ってていいんだろうかね? ×良心的
○良心特価…と見せかけて、社会人価格になってもなじみがあるソフトを買うように洗脳特化 >>670下半分
ケムオやアドビ系はだいぶん頻繁にライセンス鯖会話してるからそうなるが
(売り切りタイプの)Officeは、そこまでまんどくさいこと「は」していない 今は教育機関向けはOffice 365 Educationで卒業すると無効になるね ワイはOffice365はなんか使う気になれないので買い切りのOffice2021の年末発売を楽しみにしてる ブラック体質+コンプライアンスなにそれおいしいの企業で持ち帰り残業してるのではとゲスパー(零細あるある) pythonで一番のお気に入りは、戻り値を複数指定できる事だね。
text, ret = func()
if( ret == True):
・・・
見たいに。
これ便利w 今どき多値返却が出来ないメジャー言語はC、Javaくらいだけどな。C++ですらできる お、C++17から複数戻り値がつかえるんだ。pythonが気に入って、今更C++で書く気になれないw
正確にはC+11から? でもこれは力技ぽいねw 用途が違うのに気に入ったからどっちかしか使わないとか頭悪い 見た目はスッキリでいいんだけど、でもタプルだし…
本当の多値を返すのはlisp系であるね、除算は主値として商を返すが、余りも受けたければ受けれるみたいな
戻り値が数値なので理論的にはスッキリ、するとモナドパターンのようなものも必要無いわけで
まあ暗黙に決まるから見付けにくいバグも産むけどな! >>681
仕事ならわかるけど、個人使用だとpythonのがはるかに便利だし。
ヘッダーファイルを書く必要がない。
ちょっとした手直しでコンパイルをかける必要が無い。
型指定の必要が無い。
perlほどではないにせよ、そこそこ無茶な書き方も出きるし。
などなどw。 本当に一度しか使わない関数とかじゃないならせめてNamedTupleにすべき
PythonでTuple濫用するのはかなり悪質
Cの言葉で言うならばvoid*の配列を戻り値にするようなもの 常に代入の左辺でアンパックして受けるのはよい習慣ね
namedtupleはreturn文の後に定義と同時にコンストラクタを呼ぶワンライナーがお気に入り、簡単に作れて良いものだ
別にタプルとしても使えるからとりあえずnamedtupleで間違いない
もし適切なフィールド名が浮かばないならそれはリストで返すべきものだ
なんか公式は継承用にクラスNamedTuple推してくるけど、わざわざclassブロック書くくらいなら普通にクラス定義しますんで… >>684
勉強になるわ。NamedTupleってあるんだね。 ドットアクセス出来るんだ
コレは辞書使う気失せるね 謎タプルはメンテナンスで地獄を見るものなのは間違い無いね 昔はclass Frob: pass
frob = Frob()
ってしてfrobに属性付けてたなあ、結構見かけた
そして百手観音へ…
それ用にはSimpleNameSpace(うろ覚え)ってクラスが用意されてたと思うけど、人間というのは好き放題手を生やしたくなる生き物でして
やっぱnamedtupleだね >>634
パーラ-は逝ったら戻ってこれなくなるしゃぶじゃんきー的なものなんだw
(phpよりは絶対キマりかた軽度だろっともおもうがw)
>>689-690
+1
とくに↓ここ
>人間というのは好き放題手を生やしたくなる生き物でして selenium でgoogleアカウントログイン出来ない
Windows ではちゃんと動くのが謎
何か回避策ないの? seleniumじゃないふりする方法を考え、実装するのだ。 windowsで動くならAutomationControlledとかじゃないだろうしなんだろうね〜 >>690
既にdataclassの時代なのに。
もちろん100%互換ではないが。 最近は面倒なので全部pydanticで良くね?ってなってる >>697
いけてるネーミングだなw
なんぞそれwww pythonって奥がふかいね。
次から次にいろんな情報が。
完璧に理解してる人はどれくらいいるのだろう? www
>>699
おそらく今日現在の新宿ダンジョン完璧把握より難しい 簡単なホームページなら自力で作れる程度のプログラミング初心者です(htmlとcssはプログラミングではないというツッコミは勘弁してください)
株の自動取引がしたくてPythonを勉強してみようかと思っています
Pythonで自動取引ができるレベルになるまでにどれぐらいの時間がかかるでしょうか
勉強に割ける時間は1日1〜2時間程度だと思います >>703
そのスタンスなら一生無理。できるようになるやつは無駄なこと聞く前に勉強始めてる ppydanticかぁ
ココは色んなヒントワードが転がってるから助かるわ
情報がそれなりにあるのがpythonの良いところだね >>706
出来るやつは参考までに聞こうなんて思わない pythonのnumpyとtensorflowのインストールがちゃんとできてるか確認する方法って
なにかありますか? >>703
1ヶ月あればこなれるんじゃない?
2、3ヶ月目には出来てそう >>703
証券会社がAPI公開してるなら、とりあえずコマンドラインからプログラムで売買する基本ぐらいは2週間もあればできるよ
まあいろいろな判断を自動でこなしていろいろ操作するってなると手間がかかるけど、プログラムとして困難な訳じゃない。
単に面倒くさいだけ。
もしAPIがなくて自分でSeleniumなりでhtmlパースして……みたいなのだと2週間が2ヶ月になるかもだけど エンジニア・チャンネル、粟島
【検証】プログラミングでビットコインを自動売買すると一週間でいくら稼げるのか?
youtube.com/watch?v=h0tYyIY0T2Y
Ruby で鞘取り
このサイトの2人は、Ruby が多い。
Python よりも簡単だから
統計的な計算するなら、Python githubに転がってるのを改良してるが何を作るか決まってれば1個30分も掛からない このスレ、怖いな。工数見積に嘘つきすぎだろw
自動取引のセオリー知らないやつが適当なこと言ってんのか、知ってるやつがデタラメ教えてるのか判断できないけど。 >>713
710だけど、自動取引にかかる手間についてはぼかしたつもり。というか読めない
まず人間の個々の判断基準を全部フローチャートに書き起こせるか?(知識を外在化できるか) ってだけでもものすごくかかるだろうね
でもプログラムにしてしまえばただのif-thenの羅列でしょ?
ディープラーニングで相場を予測するとか言い出したらしらん 構想を考える時間>コードを書く時間
だから書くだけなら時間かからんわ >>715
28時間でAPIドキュメント読めるようになる秘術、ウチの新卒に伝授して 株の自動取引でどこまでやりたいかによる
前提としてPythonの基本的な知識取得には1〜2ヶ月ぐらいを目途にしておく
・実験的に単純な売買をしたい
⇒証券会社がAPIとサンプルコードを配布してるから
比較的すぐに試す事はできる
https://kabucom.github.io/kabusapi/ptal/index.html
・株の自動取引で「利益を出したい」
⇒ド素人なら年単位を覚悟しておけ >>709
>>710
ありがとうございます
やってみます 似たようなことをしたい人がいたから自分も聞かせてもらいたいんですが、
最終的な目標としてFXや株でバックテスター作ろうと思ってます
書籍やyoutubeで基礎固め(イマココ)→スクレイピング→チャートや指標の作成みたいな感じでやっていくとして
具体的に「これやっとけ」とか「これ便利だよ」っていう書籍やツールその他諸々ってありますか? 世界中に先人がいるのでまずはgithub漁ってみるのが正解
目から鱗のツール沢山あるよ 自分ならこういう匿名スレで質問しないな
まともな回答、欲しい情報が返ってくるとも思えないので githubのクソソース見たことあったら>>723みたいなこと言えない 自動取引系は結局アルゴリズム次第だからなんとも言えないよね
速度重視ならサーバーを取引所の近くに置くとかになってくるし computer scienceというyoutuberの動画でも見てとりあえずの流れを覚えたら?
匿名なのに教えてあげたよ 言語を覚えられるかとか書けるかとかではなく
バグで大損出しても耐えられるメンタル持ってるかが重要 レベル落ちたなとか言う人のレベルって低く見えるよね
不思議 >>729
そりゃ要領いいやつはSNSで情報交換するからな 5ch だからじゃなくてPythonユーザー増えたからじゃない?
10年前のPythonスレは今みたいによく分かんないけど偉そうな人いなかったもんな スクレイピングするとき
url=XXX.html
url=XXX1.html
ってなってるのあるんですけど
for i in range(m)
のmに空入れる方法ってありますか? if i==0:
i=""でいいだろ、そもそもスクレイピング関係ない 上手くいったわ(^_^;)
でも空番目が違うフォーマットなんで
元の使うはめに
まあ勉強にはなった >>721
英語可ならquantconnectとか覗いてみたら
半年前まではquantopianっていうヘッジファンドがpythonベースのアルゴでコンテスト開催して優秀アルゴで運用してたんだけど潰れた
quantconnectも多分似たような事やってるはず 銀行の基幹システムなどの大規模開発に向いている言語と言えばJavaやC#で
Pythonは大規模開発に向いてないとよく聞きますが、
Pythonは何が足りなくて大規模開発に向いてないんでしょうか?
大規模開発に必要とされる要件って何ですか?
※これは逆にアンチPythonの人達に訊いた方がいいのかも・・・と思いつつここで質問します 型とコンパイル、そして実行速度
Pythonはライブラリを借用して少し弄るだけの言語に留めておくのが正解
イメージとしては、つよいシェルスクリプト、関数電卓より強力な電卓 exeにできない
ファイルが多すぎる
言語の違いはあっても操作してるapiは同じ webアプリでフロントエンド部分がが作りにくい印象があるな
bootstrap的なので良いのないんだろうか? >>749
できることもある
dll化もできない
カプセル化できなく管理できない 皆さん、ありがとうございます。
>>747
なるほど、基本的に型宣言が無くてインタプリタだから実行速度が遅いんですよね。
ああ、欠点は実行速度と集約できるかもですね。
ではPythonは豊富なライブラリを弄る程度に留めて、
根幹はJavaかC#かC++で作りますかね。
>>748-749 >>751
exeは出来ますね(作ったことがあります)。
でも、確かにdllは作れそうにないですね。
C++のdllを読むばっかりですものね。
>>750
Djangoのことでしょうか?
自分もDjangoで簡単なWebサイトを作ってみましたが設定が大変でした…。
まだあまり普及してないので情報も少ないですね。
・・・結論として、やっぱりPython一本だけだと心許ないですね。
大規模言語も覚えます。 >>752
なんか勘違いしてるな
実行速度は欠点の一つとして挙げただけだぞ >>752
静的型付け言語だと、コンパイル時に型があっていないことについてはエラーを出してプログラムが間違っていると確認できるのが強い。
Pythonみたいな動的言語は変数に何でも入れられるから実行時に初めてわかるエラーとか発生してしまうし、
リファクタリングがやりづらい。 >>753-754
なるほど、静的型付け言語だとプログラムが間違ってるとIDEでいろいろ指摘してくれますよね。
大規模になればなるほど、型の整合性が重要になってきそうですね。
動的言語だと、小さなプログラムならなんとか動くが大きなプログラムになってくると収拾付かなくなりそうですね。 Ruby なんて遅くて仕方ないけど、米国年収は最高だよ。
募集人数は、Node.js の半分しかない
AWS のソリューション・アーキテクトは、1,400万円
Ruby on Rails は、1,300万円
Node.js は、900万円
Java なんて速いけど、20年で200万円とかw
GitHub に、銀行のソースコードを公開していた人
Django の募集人数は、Rails の1/10 ぐらいでしょ?
遅いとか欠点なんて、年収・就職に関係ない
https://dev.to/
なんて、Rails だけど世界最速。処理時間0 3銀行統合プロジェクトは、ピラミッド建設と同じ人月!
1人月百万円 * 数十万月 = 数千億円
でも、Java 土方は、給料20万円しかない。
残りの80万円は多重請負構造によって、数社に分配される
速いもクソも関係ない
だから、YouTube で有名な、雑食系エンジニア・KENTA は、
初心者に、Ruby on Rails 以外を勧めない
低年収だから ハッシュへの追加が無駄に慎重なのがJava
スクリプト言語は深く考えずけっこうチャランポランにやってる
例外がやたらと多いのがJava
Javaと言えば例外、例外と言えばJava
慎重度合い、病的な気難しさ、高度の心配性、これが向くか向かないかの違い
ツールや言語に引き摺られて人間の精神まで変わるか、最初からそういう傾向のヤツが集まるかは分からないが、
心配で心配でしょうがない不安で慎重すぎる人材が集まると大規模開発が発生する >>746
JavaやC#で銀行の基幹系とかやりたくないな まあ後は単純にPythonメインでの大型開発案件自体が無いってのもあるな
実際にやるなら型ヒント必須とかにするだろうし、だったら最初からJavaとC#で良くね?になる
(特にデスクトップアプリ作るならそれこそC#で良いし、WebアプリでもSpringが選択肢に入るJavaが出てくる) 大規模案件ほど例外が多くなる傾向があるだろうね
どんなクソ入力されようとエラーで停めるなよ、と >>763
JavaやC#で銀行の基幹系やりたくないならどの言語使うよ? Cython的に全部型宣言して使えば、実行速度でも他に引けを取らないし、大規模案件でも使えたりするんかね? 大規模開発を安く上げたい
そのためには人件費を削りたい
低スペックの人材しか集まらない
底スペックの人材は無茶無茶なコードを書く
Javaはかなりちゃんと書かないと動かない
Pythonはかなりいい加減に書ける
業界の思い込みもいろいろ入っているけど
Javaが採用される理由 ウィザード級プログラマが良心のある優秀なベテランプログラマを率いるくらいして
どこを見ても常識と性善説が通用するの精鋭チームを隅から隅まで揃えないと
Pythonの大規模開発はすぐ崩壊すると思っていい
現実的じゃない
Pythonが遅いってのはガチでCに比べて5〜10倍遅いとされてるJavaの100倍は遅い
Cythonは使うメリットを感じられない 今は全体の規模が大きいからといっても一つの言語で作る必要性は低い
規模は言語に依存しない方法で適切に分割すれば各サブシステムは小規模になる
むしろベンダーが責任持って最後までサポートする言語かどうかのほうが大事 実行時に型チェックでエラー出ないと複数人の開発はきついよ
Pythonとかの型無し言語の優位性はまずはざっくり動くものを作って成長に合わせて部分的に最適化できるってとこかと
スタートアップには最適だけど大規模前提だときついよね >>772
結局、型ヒントだったりとかそれに関連するライブラリが増えてる辺り
最終的に型って必要だよね、っていう流れになってきてるしな
他言語だとTypeScriptとかもそういう流れだし >>773
あアナルほど!
Type(型)Scriptか! >>774
*なるほど
動詞のtype(打ち込む)だと思ってたわ むしろタイピングとかのほうのタイプのことをわすれてたは Python…というか動的型付け言語は大規模開発に向かないというが
実際には複数人開発の時点で既にキツい
精鋭5人で開発したところで必ずメンバーの入れ替わりが発生して
いずれメンテナンスコストの増大に耐えられなくなる javaやc#をサポートする経済力がpythonとは
桁違いなんじゃないの
pythonと比較するのはnodeだと思うの Juliaはその辺組み込んでるけどPythonもいずれ組み込むだろうね 関数の引数が参照渡ししかないのか?
変数のスコープはどうなってるんだこれ? 値渡しもあるぞ、判別は空気を読め
変数のスコープは右から左に及ぶし場合によって下から上にも及ぶ
こんなガバガバ言語で中規模以上の開発は無理 たぶん理解は同じなのに明確に統一された用語がないせいで食い違ってるように思えてるやつ 変数がミュータブルかイミュータブルで変わる
引数のリストがタプル推奨なのはこの辺が理由 初期値空リスト/辞書パターンは探索にすごく便利なのでconsidered harmful化は断固阻止したい
nonlocal/grobalまみれのクソコードを駆逐したい というかlocal/global文がbuiltinsに必要ある?
スコープ宣言なんてせずとも、名前空間が全てプレーン辞書のpythonには、lispみたいに環境オブジェクトを保存したり弄ったり、そしてまた戻したりできる能力があるわけで
レキシカルじゃない名前解決が必要なら辞書を持ち回れよ
ビルトインならvars()locals()やglobals()、例え無くてもモジュールでも何でも__dict__晒してるだろ
そのままデフォルト引数にブチ込めば状態保持のカスタムスコープが手に入るだろ 外のスコープの変数に手を付ける、ってのは既にconsidered halmfulだと思うけど
これって名前空間持ち回り以外に解決策あるだろうか?
デフォルト引数は一度しか初期化されないから特に便利ね
探索終わった後に手動初期化忘れてもう一度走らせると大変なことになるけどな! ちょっとマニアックなユースケースに偏ってしまった…
python自体の名前空間を探索アルゴリズムにかけるのは、主にコードウォークやメタプログラミングだな
一般のグラフの探索問題等でも、ミュータブルコンテナデフォルト引数は最も行儀が良いと思う
外部に変数持たなくても関数ブロック一つにカプセル化、今走ってるスタックフレームから参照すれば、常にその視点からの参照という一貫性
我らがbdflも探索入門の記事書いてるけど、確かそうしてたはず 今のところメーリス等で是非は議題になってはないようだけど、なったらpepの便所に落書きしてくる所存 クロージャ×global/nonlocalコンボは結構見るし、高等テクとして紹介してるサイトすら見かけるな
キャプチャして参照するだけならまだしも… python クロージャでクグるとわらわら引っかかるなこれ、完全なアンチパターン
https://gihyo.jp/dev/serial/01/pythonhacks/0001
ミュータブルなlistを更新する必要がありました→そこでnonlocalババーン
なんの為にミュータブルなのか理解してるのだろうか なお標準ライブラリにミュータブルな数値も文字列もあるっていうね Jupyter Notebookですか?で、
!python test.py
で、ほかのpythonスクリプトを実行していました
で、今度はそれをローカルの環境で実行したいのですが、
例えば
hoge.py内で
上のtest.pyのスクリプトをキックしたのですがどうすればいいでしょうか? Pythonとは別の方向性でC並に害悪プログラマを生みやすい言語だよね 変な日本語になってしまった
正 PythonはCとは別の方向性で〜 うわーーん
run_pathだとModuleNotFoundで実行できん sys.path.append()とかしたらいけました プロジェクトディレクトリ
|-test
| |-test_foo.py
|-main,py
こういう感じの構成しちゃうと、test_foo,pyから見た時に
main.pyが上位ディレクトリに配置されるから、相対インポートで上位ディレクトリを指定するとエラーになる問題が起きて
仕方なくsys.pathとかでルート追加するんだけど、なんか間違ってる気がする…… # 気になる言葉をクリップボードにコピーした後に>>632のpyperclipを使って
# 指定のメモ用テキストファイルに追記
import pyperclip, getpass
clipb = pyperclip.paste() + '\n'
print('コレを指定のファイルに追記:' + clipb)
user = getpass.getuser() # ユーザー名を取得
open("/home/" + user + "/Documents/memo.txt",'a').write(clipb) # 追記モード('a')でopen
# 失敗.
# open("~/Documents/memo.txt",'a').write(clipb)
# open("$HOME/Documents/memo.txt",'a').write(clipb) open().write
この手の書き方って普通なの?
open()なんて結構失敗する可能性が高いじゃん。
どうしても馴染めないw
f = open()
f.write()
もしくは、
with open() as f:
f.write()
にしたい。 >>803
closeしないのはお行儀的に良くないので普通ではない
open -> write -> closeをone shotでやりたければpathlibのwrite_text >>803 のいずれの例も例外処理とセットになるものにも思えるが pythonが~やら$HOMEやらのシェル変数を展開できんだろ ネストしていけるのも便利だから
ネストの塊を関数としてみればいいのでは
いいか悪いかはその塊による このopenは我々の知っているopenではないかもしれない "~"も"$HOME"もpythonからは単なる文字列にしか過ぎない
import os
open(os.getenv("HOME") + "/Documents/memo.txt", "a") pathlibでPath.home()とかexpanduser()とか使えるよ
Path(‘~/path/to/file’).expanduser() >>805
fileオブジェクトが残ってないからキャッチしてもクローズできないじゃん。
試してないけど再度openしようとしたら失敗するかgcが回収するまで待たされる気がする Pythonと組み合わせがいいSQLってsqlliteなんですか?
「Python SQL」と検索するとこればかり出てくるんです >>818
そりゃpython sqlとかでググるような初心者ならサーバー立てなくていいsqliteが簡単でいいわな Pythonの操作が全部頭に入ってるような
サイコなPythonPGなら
PostgreSQLで >>818
> Pythonと組み合わせがいいSQL
とは何ぞや。 フレームワークと相性が良いSQLはともかく、言語と相性が良いとは sql99で書いてるうちはドライブ先はなんでも良いんじゃないの?
フリーで手軽って意味でsqliteだったんだと思う。
嫌なら自分で変えるヨロシ SQLite, MySQL, PostgreSQL が3大データベース
Ruby on Rails でも、開発環境ではSQLite。
本番環境では、MySQL, PostgreSQL
Amazon Linux でも、Aurora が、MySQL, PostgreSQL 互換で、
最大数倍速くなるように、カスタマイズされている
EC2 に、自分でデータベースを入れても、速くならない。
Aurora のみ 推奨NGワード: Ruby
推奨NGワード: Rails よくデータベースのカキコ見かけるけど、なんに使うの?仕事? >>826
個人でもちょっとしたデータ処理するなら使うでしょ
家計簿とか住所録とか
ソートとかを自分で書いてもいいけどsqliteとか使ったほうが楽 時々くだすれと混ざるよねここ
両方見てる人が多いんだろうけど googleのスプレッドシートならquery関数使えるぞ >>833
まんまSQLでワロタw
こんなんあんのかい numpyの配列[0 1 2 3 4 ]を[[0 1 2][1 2 3][2 3 4]]にしたいのだけど、
スマートに行う関数ってありますか?学が無くてこういう処理なんていうのか
わからないから調べることもできてなくて困ってます。 original_array = np.array([0,1,2,3,4])
np.array([array for array in zip(original_array[:-2], original_array[1:], original_array[2:])])
じゃダメなん? >>837 教えてくれてありがとう。
forで回すのは速度遅いのかなって思ってて、
convolve()みたいな移動平均出せる関数があるなら、
これできる関数もあればいいなと思ってるのですが、
convolveも中身はforで回しているんですかね。 Ruby なら、重複有り/無しの繰り返しは、
p ( 0..4 ).each_cons( 3 ).to_a
#=> [ [0, 1, 2], [1, 2, 3], [2, 3, 4] ]
p ( 1..8 ).each_slice( 3 ).to_a
#=> [ [1, 2, 3], [4, 5, 6], [7, 8] ] 二人ともありがとう、python each_cons で調べても
for使っているみたいだったしそれでいこうと思う! データベースの利用目的も分からない人がプログラム組む時代か
色々考えさせられるな スプシのquery便利だけど
でかいデータ貼り付けする事自体が重いのが難点。
データ量、カラム数で使い分けてる。 >>831
別に正解は1つじゃないでしょ
ExcelでVBAなんて死んでもヤダ、PythonでCOMなんてありえない
ってやつも居るだろうし
(まあ俺のことだがw) >>841
a=[0, 1, 2, 3]
b=[[i-1, i, i+1] for i in a[1:]]とかでしょ >>836
numpy1.20以上ならsliding_window_viewが使える
配列の要素数が多くなると速度差結構出る >>846 私836です、本当ありがとうございます!
理想的な関数です助かりました!!!あなたをnumpyの神と
崇めながら今日は眠ります。 # >>802以降で教わったことを使って
# クリップボードのテキストをYoutubeで検索した後に
# 指定の記録用テキストファイルに検索語句を日付と共に追記
import locale, datetime, math, pyperclip, re, webbrowser, os
locale.setlocale( locale.LC_TIME, 'ja_JP.UTF-8' )
now = datetime.datetime.now()
today = now.strftime( '%d' )
div7 = int( today ) / 7
if type( div7 ) == int: num = str( div7 )
else: num = str( math.floor( div7 + 1 ) )
hiduke = now.strftime( '%Y/%m/%d/' + '第' + num + '%A' + '/%H:%M/' )
clipb = pyperclip.paste()
# 半角#から始まる語句をquery=以降に足してwebbrowser.open()で開くと失敗するので全角の#に変換
pattern_sharp = re.compile( r'^#' )
if bool( pattern_sharp.search( clipb ) ): clipb = clipb.replace( '#', '#' )
else: pass
url_yt = '=yreuq_hcraes?stluser/moc.ebutuoy.www//:sptth'[::-1] + '\'' + clipb + '\''
webbrowser.open( url_yt )
fw = open( os.getenv( "HOME" ) + "/Documents/youtube.txt", "a" )
fw.write( hiduke + ' ' + clipb.replace( '\n', '' ) + '\n' )
fw.close() >>836
def f(n, a):return [a[i:i + n] for i in range(len(a)-n+1)]
print( f(3,[3,1,4,1,5]))
---
[[3, 1, 4], [1, 4, 1], [4, 1, 5]] >>849
ありがとう!もしfor使うしかなかったら、それを採用してました!
多分lenをshapeにかえたかもしれませんが。
>>845
も考えてくれてありがとう!私の質問の仕方が悪かった、ごめん!
扱いたいのは非線形だから[3,1,4,1,5]みたいな物だったんだ! numpy.arrayで挿入処理の前では、forを使う使わないなんて全くどうでもいい話の気がするんだが、間違っているか? >>851
私が最初にイメージしたのはnp.zerosかなんかで作成した配列へのforでの挿入
だったので蛇使いはずいぶんコードをコンパクトに抑えるんだなと思ったのですが、
動的にメモリを要素ずつ確保すると時間がかかるという事ですか?
検証してないからわからにゃい… >>853
ご指摘の通りでした、最適な処理は頭の良い人に考えていただいて、
私はただsliding_window_viewを使うのみでした! AをBで切り上げ除算したいときに(eg.5÷3→2)
A + (B - 1) // Bとすれば良いと知ったんですけど
そうなる理由が分からないので、どなたか教えて頂けませんか? 小さめの数字の境界条件を実際にプロットしてみるとわかりやすいよ
例えば、数直線上の 3 と 5 に印を付け、3 ずつの区切りも印を付けてみる
それだけみてもわからなければ、
5 と 6 を 3 ずつ
4 と 7 を 4 ずつ
とかもやってみるといい
すると、 B-1 の意味が見えてくるはず おかしくね、それ
-5割る-1が7になる奇怪な定義
除算の定義が変な言語は沢山あるから何れかの写経?
Bが正ならばAの正負を問わずpythonの//は常に切り下げなので、A//B +1でいいよ 何れにせよその定義だと正数に対しすら切り上げ除算になっていない
4.5割る2が2になってしまうことは理解できる? 検算
(4.5+2-1)//2=5.5//2=2
x//y+1を採用すれば
4.5//2 +1 = 3 除算の妥当な定義は数多あるので、算数に自信がないならmath、rational、decimalあたりの関数を常に引くべき 適切な関数を探すことは概念を学ぶ事でもあるね、math.ceilは浮動小数点誤差の影響受けたっけ?
気にし過ぎだと思うし使わんから知らんけど、fractionあたりにベストなのがありそう x//y+1もpythonの仕様知ってる人じゃ無いと意味が取れないし、厳密さを求めないならceil(x/y)の方がよい >>858
4/2が3になるのは切り上げ除算とは言わなくないか?
正確に何をしたいか書いてない質問者のせいでもあるけど
float同士ならどうせfloatの演算があるのだからmath.ceilで、
int同士なら途中がfloatになるのがなんとなく嫌だからb-1足すかなあ 必ず切り下げという性質を使って、-(-a//b)とかでもいいかもね いま、ウトウトと寝てる時にパッと動かないプログラムの解決方法がうかんだ。
取りあえずPC立ち上げて、修正したら治った。
「やればできる」ってティモンディの言葉が頭にうかんだww 確かに考えが煮詰まっちゃうと何やってもダメだね
他の事するか寝た方が良い結果になる事が多い >>874
考えが煮詰まるならなんら問題ないのでは?
行き詰まるなら問題だけど 煮詰まる=頭がフットーする=ショート寸前→オーバーヒートして活動停止直前 誤用が幅を利かせてる
1980年頃から芸能人が広めた
最初に松山千春が使っててアホかと思ったら
そのうち日本中がアホだらけになり
今じゃ俺の方が間違ってると言われる 夢で解法が浮かぶことあるよな
ずっと脳みそが考えててくれてるんだろうな そういう、もともとの字義と異なる意味付けする慣用句って絶対的なもんじゃないと思うがなぁ。
大昔に誰かが考えた例え話を他の人が真似して広まっただけでしょ。 そこは行間ってやつで各々の解釈でしょ
偉ぶりたい人が本当はこういう意味だって言いたいだけ
そもそもスレ違いなのでやめよ クソどうでもいい突っ込みありがとう
確かに行き詰まるの方が適切かもね
学びました 発生するのはクラスター「感染」
クラスターそれ自体が発生するような言い方をするマスゴミが多すぎる
NHKも例外ではない pythonスレでそんな報告されてもどうしろちゅーねん >>885
スレチだけどクラスターそれ自体は発生するよ
そこで感染するか否かも別としてね >>889
まぁ、クラスター=集団だから、意味だけなら確かにそうだね
でも、マスゴミの使い方はクラスター=集団「感染」(disease cluster)だからなぁ
カタカナ語を乱用する悪いところだよ
Wikipediaでさえ間違えた使い方をしてる
pythonなどのプログラミングでも、特定の用語をわかってるようでわかってない使い方するのと同じだな
厳密な使い方をしないと、プログラマ間での引き継ぎなどの意思疎通ができなかったりする USBメモリの事をUSBと省略するようなもんでは?
誤解が生じない文脈であればそれで良い
コロナの文脈で「クラスター」と来たら100%集団感染を指すことは一般的な合意があるから問題ないと思うが >>891
USBと言えばUSBメモリの事なのかw
誤解してミスっても許されるから良いんだろうけど
そんな文化の会社嫌だなぁ 部下が「USBに保存して持ってきました」と言ったら普通はUSBメモリの事だと解釈すると思うんだが
日本語は文脈による推察が多い言語でそこが問題点ではあるけど簡略化出来るのが良いところでもある
齟齬が生じるような場面で簡略形は使うべきでは無いし正しく伝えるべきではあるが
文脈から推察出来る状態で推察出来ない者はそちらの不足
クラスターもUSBも同様
解釈出来ない方が使えないバカ こういうのは言われて何言ってるか
わからなかった時に切れたらいい
わかってるのに 「USB 挿したら情報漏洩のアラームが鳴るよ」
と言った場合、どうするんだろう?
「USBメモリに決まってんだろ、バカ」と言われるんだろうな >>892
日常生活でも重さや距離を「キロ」、データ容量を「ギガ」と言ったりするのはよくあると思うがいちいち噛み付いてるんか? >>890
集団感染の意味でクラスターとかクラスターが発生するという言い方は
USやUKを含む海外メディアや医学論文でも一般的に使われてるので
君のほうが間違ってると思うよ >>897
IT関連で5Gじゃ何を意味しているのかわからないじゃん >>901
メディアでは日本と同じように省略された用法ももちろんあるだろうが、
医学分野ではDisease clusterという一応きちんとした言い方があるのは事実
Disease cluster - Wikipedia (en)
https://en.wikipedia.org/wiki/Disease_cluster >>903
省略してるわけじゃなく
コロナでクラスターといえばひとつ
美しい日本語は関係ない 別の言い方があるからといってクラスターを集団感染の意味で使うのが間違いということにはならないけど?
間違いだと考えた理由はそれだけ? >>902
そりゃあ文脈が不明な状態で5Gとだけ言われても分からないよw 「自分は用語をキチンと理解しているので厳密に使い分けることが出来る。他の奴らは理解できていないから適当に使っている」と思っちゃう症状はあるよねえ Pythonと言われてもPython2か3か分からんぜ 最近psdの切り出しを自動で行おうとpythonを始めたのですが、パーツを全画面で保存したいのですがtuple警告が出て全画面保存出来ませんでした。
どこが間違っているのでしょうか。
あと、現在読み込んでいるファイル名の取得をしたかったのですが、それらしいメソッドを見つけられませんでした。
osか何かで取得するのでしょうか。
初歩的な質問ですみません。
アナコンダのpython3.8 win
psd-toolsは1.9.17
import psd_tools
psd = psd_tools.PSDImage.open('psd_test.psd')
if 'psd_name' not in locals():
# print('リストは空です')
psd_name = []
for layer in psd:
print(layer.name)
psd_name.append(layer.name)
layer.visible = True
layer.top = 0
layer.left = 0
layer.sizu = psd.size
layer_image = layer.composite()
# layer_image.save('%s.png' % layer.name,bbox=(0,0,1280,2880))
layer_image.save('%s.png' % layer.name,) 初心者はまずエラーを省略せずに(自分の言葉で説明せずに)貼るところから始めよう
環境を書いてるのはとてもよい
psdのレイヤーとカンバスのサイズは必ずしも一致しないけど
レイヤーの方が小さいのにカンバスのサイズを指定してるせいではみ出してるって警告だったりしない?
「現在読み込んでいるファイル名」ってpsd_test.psdのこと?
それなら変数に入れておいて後で参照することはできないのかな? >>912
エラーログを貼らずに申し訳ございません。
色々弄ってしまい再現出来なくなってますが、tupleだから値を入れられないと言うエラーと、おっしゃる通りpsdのカンバスサイズの値をセットしたからはみ出してるみたいなエラーでした。
bboxを指定したらうまくいくのかと思ったのですが……
他のいくつかの言語でpsdをあつかった時には、これまで問題無くカンバスサイズで出力出来ていましたので、psd-toolsもやり方はあると思うのですが良くわかりませんでした。
ファイルネームも確かにopen時にタプル辺りに入れて置けば済むお話なのですが、psd-toolsのプロパティに取得されていないか調べた限り無さそうでしたのでご質問させて頂きました。 横だが、layer.sizu にタイポしてるのはわかった >>914
layer.widthとかrightとかいろいろ試してお手上げになった状態でのアップですみません。
sizeが無視されているのは理解しています... >>890
サーバークライアントの意味でクライアントって言ってたら
相手は客のことだと思ってたでござる 画像の大きさを調べるcv2なんだけど
本体のピクチャフォルダの画像はちゃんと動くのにUSBメモリの画像だとNone Typeエラーが出る
いちいちピクチャフォルダにコピーしてやってたけど面倒くさいので原因を調べたらフォルダの名前が日本語だとエラーになるとわかった
こんなくだらない原因だったわけだけど外国人からしたら日本語なんかどうでもいいってことだな https://qiita.com/SKYS/items/cbde3775e2143cad7455
これかな
日本語パスはライブラリによっては問題になるからファイルパスを直接指定しないで、バイナリをロードしてから呼ぶか、
一旦安全なASCIIのパス名に変換するのが定石かな。
C/C++を使ってみるとわかるけどパス周りはOS依存が結構きつくて取り扱いが難しいんだよね
OpenCVも元はC++なのでその辺の難があるのだと思う >>919
わざわざ丁寧な説明ありがとう
レベルが凄く高い人だなっこてとは凄くわかる 日本語でもC++だと問題無くてPython版CVだけ可笑しかったりする
Pythonの開発陣が日本語というか多言語文字列の扱いに弱い >>920
レベルが高いとは思わないけど、クロスプラットフォーム開発に慣れるとそんなもんかなって思うようになる。
Windowsは癖が強いよ。
>>921
Macユーザーからすると、Win32APIの独特な感じに対応しきれてないという感じがするけどね。
Macだと特に問題ないから。
CではWin32APIに合わせてパスを取り扱わないとうまくいかないのも、WindowsでC++の開発もしてるから知ってる。 Windows10
C++
OpenCV
UTF-8
で問題無し ユーザー名・ファイルパスなどシステム関係に、ascii 以外を使ったらダメ!
何百種類も言語があるので、誰もascii以外でテストしないから
日本人が韓国語・中国語でテストしないのと同じ
ウェブ系・Linux は、UTF-8 で統一されているけど、
Windows は、CP932, UTF-16 とか独特だから、互換性がない
また、ファイルシステムでも異なる。
Linuxのext4、WindowsのNTFS 何百種類と言うほどあるか?
日本人だが、各言語でテストするがなぁ。。
Ruby大好き君みたいな思い込みだな。 その何百種類を列挙してみたまえ
日本では195国を承認+1の日本自身で
196国ってのが定説なのでな N=196として大体O(N^3)くらいまでの処理なら可能なのか ただまあ、UTF8にちゃんと対応してたら今のWindowsで問題が起こることはあんまりない気がするんだが。
外部ライブラリも、まずtempディレクトリにファイルコピってから読み込んだりしない? ルートパスのマルチバイト問題か
そもそもユーザー名に日本語使ってたら
特にanacondaでエラー出まくったり >>930
Anaconda は history (~/.python_history) に日本語が入ると
次回起動時にエラー出まくるな 昔し、プログラムで文字処理をしてたとき日本語が大嫌いになりましたw たしかにpythonで日本語が糞だった時期はあるが
その頃は他の言語でも同様に糞だった
今のpythonはそこまで糞じゃない
バグがまだあるのは認める やはり、>>911のレイヤーを全画面(psd.widrh psd.heightのサイズ)で保存する方法は難しいでしょうか……
いろいろggrksで読んでみましたが、それっぽい記述をみつけられませんでした。 >>937
大昔、Adobe内蔵のJavaScriptもどきでレイヤーごとの保存操作をしたことあるけど、そもそも「そういうもの」というか、内部ではレイヤーはレイヤーの大きさでしか記録されてないような気がした
いっそ、レイヤーを読み込んだ後、それのキャンバスを画像サイズに拡張する処理を入れて、それから保存してはどうだろう >>911
layer.sizu = (3600, 4800)
#.sizu もそのまま
で問題無い layer_image = layer.composite(viewport=(0, 0, 3600, 4800))
でも画像サイズ変わったわ from PIL import Image
image = Image.fromarray(layer.numpy()).resize((3600, 4800))
でもいけるっぽい 皆様、レスありがとうございます。
>>938 他の言語いくつかでは可能でしたし、何よりフォトショの標準スプリクトで遅いとは言え可能なので、なんらかの方法はあるのかなとおもってました。ただ、今過去に作った物を見直すと確かに全画面の透明レイヤーを合成してる物もありました。
>>939 layer.sizu = (3600, 4800)では、私も最初それで可能と思ったのですが、なぜかダメでした。。(無視されました)
>>940 layer_image = layer.composite(viewport=(0, 0, 3600, 4800))で一応うまくいきました。 大変ありがとうございます。 ただこのままだと0, 0起点で出力されましたのでレイヤのプロパティから位置を計算するメソッドを加筆すれば上手くいきそうです。
>>941 PILはまだ読んでませんでしたので、これから読んで組み込み可能か調べてみます。
まだ完全ではありませんが、だいぶやりたいことが出来かけてきました。
もう少し色々弄ってみたいと思います。
またどうしてもお手上げだったらお教え頂けますと嬉しいです。 できた
a = (layer.numpy().astype(np.float32) * 255).astype(np.uint8)
Image.fromarray(a).resize((3600, 4800)).save(filename, format='PNG') Imagemagick とかで出来ないのか?
Ruby on Rails ですら、これを使っているのにw 脆弱性だらけのゴミがなんだって?
脆弱なのはお前の頭だけにしておけよ 今のSNS業界だと画像を一列に並べる需要がある
そこで整形ソフトの出番になる
画像リサイズ切りぬきだけで世界のマシンパワーの5%くらい使ってるはずだ >>948
世界のマシンパワーの殆どは仮想通貨採掘に費やされてるよ お世話になります。
textへ出力する際に上手く改行ができないので、知恵をお貸し頂きたいです。
【書き出したtextファイル内容(実際の出力)】
1
2
['変数X(0.1)、変数Y(0.1)\n', '変数X(0.1)、変数Y(0.2)\n'・・・(省略)・・・'変数X(1.0)、変数Y(1.0)\n',
a
b
・・・(省略)
【本来書き出したい内容】
・・・(省略)
1
2
変数X(0.1)、変数Y(0.1)
変数X(0.1)、変数Y(0.2)
・
・(省略)
変数X(1.0)、変数Y(1.0)
a
b
・・・(省略) 【出力部分のコード】
・・・(省略)
with open(filename+".txt", "w+", encoding="UTF-8") as exportfile:
print(exmojiretu, file=exportfile)
【xmojieretuの中身】
1
2
['変数X(0.1)、変数Y(0.1)\n', '変数X(0.1)、変数Y(0.2)\n',・・・(省略)・・・'変数X(1.0)、変数Y(1.0)\n']
a
b
かなり初歩的なことかと思いますが、何卒宜しくお願い致します。 print(exmojiretu, file=exportfile)
の行を
for e in exmojiretu.split('\n'):
if e.startswith('['):
for f in eval(e.replace('\n', '\\n')): print(f.replace('\n', ''), file=exportfile)
else:
print(e, file=exportfile)
にする >>950-951
https://docs.python.org/ja/3/library/ast.html#ast.literal_eval
import ast
for line in exmojiretu.split("\n"):
if line.startswith("["):
lst = ast.literal_eval(line)
for x in lst:
print(x.rstrip("\n"))
else:
print(line) >>952-953
ご回答頂きありがとうございます。
ご教示頂いた方法を試してみましたが上手くできずしばらく検証しておりました。
結果的に今回記載させて頂いたコード外で修正をすることでなんとか解決をすることができました。
配列内に配列があるから上手く改行できないのだと考え、「exmojiretu」に渡す時点で「変数x(0.1)、変数Y(0.1)・・・」の部分をjoinでstring化してみたところ、改善できました。
記載部分以外で解決してしまい申し訳ありません。事前にそこまで記載をしておくべきだったかもしれません。
eval等は今まで知らなかったのでとても勉強になりました。
また何か詰まったら質問させて頂ければと思います。
ありがとうございました。 s=r'''
1
2
['X(0.1),Y(0.1)\n', 'X(0.1),Y(0.2)\n','X(1.0),Y(1.0)\n']
a
b
'''
for line in s.splitlines():
try:
a=""
exec("a="+line)
except:
pass
if type(a)==list:
for i in a:
print(i)
else:
print(line) 【現在のPCの状況】Windows10 Python Spyder
【書込みPG]
import pandas as pd
get_lstall = ""
get_lstall = pd.read_excel('修正株コード3.xls', index_col=0)
[変数エクスプローラー]
名前 型 サイズ
get_lstall DataFrame (4064,8)
【コンソール】
In[3]:get_lstall
Out[3]:
コード 企業名 No 上場市場 業種名 決算期 EDINETコード 種別 種
1 13010.0 極洋 6.0 東証1部 水産・農林業 3月 E00012 NaN
1 13320.0 日本水産 7.0 東証1部 水産・農林業 3月 E00014 NaN
1 13330.0 マルハニチロ 8.0 東証1部 水産・農林業 3月 E00015 NaN
1 13520.0 ホウスイ 9.0 東証1部 卸売業 3月 E00017 NaN
1 13770.0 サカタのタネ 2.0 東証1部 水産・農林業 5月 E00006 NaN
.. ... ... ... ... ... ... ... ...
6 96640.0 御園座 2672.0 その他 サービス業 3月 E04609 2部
6 96670.0 ホリプロ 2673.0 その他 サービス業 3月 E04829 マザーズ
6 97890.0 栄光 2724.0 その他 サービス業 3月 E04935 ジャスダック
6 98220.0 クロニクル 3530.0 その他 卸売業 9月 E03172 NaN
9 NaN NaN NaN NaN NaN NaN NaN NaN
[4064 rows x 8 columns]
【質問】
・get_lstallの変数から
”1 13010.0 極洋 ” の文字列を取り出す方法を教えてください。 indexでアクセスできないんだっけ
get_Istall[0]みたいな DataFrameだからget_lstall.query()みたいなやつで絞り込めたはずだよ
やりたいことはいつもココで調べて解決してる
https://note.nkmk.me/python/ print(get_lstall.loc[('コード', '企業名', 'No');:]) print(get_lstall.loc[('コード', '企業名', 'No');:][0])
か wsl上でpythonを動かしているんだが
pipではまった
pythonのバージョン、pipのバージョンとかとか
どの組み合わせがお勧めなの? >>970
pip入れるときに↓以外の方法で入れてたする?
sudo apt install python3-pip pip自体じゃないけどpython3.10にしてから自前バージョン判定ミスるライブラリ多くてかわいい
3.10≦3.2らしい
まあ俺も想定してなかったけどな!
sys.excpethookにスタックトレースと発生源をエディタで開く関数設定しておけばとても便利ね
外部ライブラリであろうと秒で書き直して再実行できるpythonの便利さよ 自前ライブラリを新規作成する時はPoetry使うけど、論文のコードを動かしたりする時は結局venvとpipが確実な気がする >>975
poetry楽だし速いから最近はpoetryばっかだな。
pipenvでもいいんだけど、遅い >>970
WSL2 なら、Windows 10 Home 版でも、Docker Compose が使えるようになった
漏れは、Linux側には、日本人が作った、バージョンマネージャーのanyenv で、
rbenv, nodenv を使って、ruby 2.6.6, node 12.16.2 を入れているけど、
この方法は自分でビルドするから、依存モジュールのバージョンを合わせるのが大変
Gemfile, package.json みたいな、依存モジュール一覧表のプロジェクトファイルが必要
Docker で探す方が簡単かも なるほどpypyはお金になるのか
よっしゃpypyやるか 964 作成者です。
色々投稿、ありがとうございました。
特に、https://note.nkmk.me/python/で色々見て、返事が遅くなりました。
次も、よろしくお願いします。 お勉強スレでpypy使ってたらマウントできると思える奴も同様にゴミだな。
pypyは万能じゃないんだが >>994
そう書くとド変態にみえるなw
実際プログラマ界隈でも変態だがw このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 255日 5時間 36分 12秒 5ちゃんねるの運営はプレミアム会員の皆さまに支えられています。
運営にご協力お願いいたします。
───────────────────
《プレミアム会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────
会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。
▼ プレミアム会員登録はこちら ▼
https://premium.5ch.net/
▼ 浪人ログインはこちら ▼
https://login.5ch.net/login.php レス数が1000を超えています。これ以上書き込みはできません。