暗黙のキャストとか何思い込みで適当ブッこいてんだろうね。 突っ込まれてごめんなさいするならまだしもいきなり他言語はどうのこうのと知能障害を起こす。 なーにが「charの集まりであることが協調される」だw list(str)したら実際にリストに変換されとるわ。そしてstrのままならリストではない。 強調するしないの話じゃねーわバーカw
invalid syntax ばっか出て実行できねつれえ
>>7 「’」とかの数が間違ってることがおおおおおおおおおおおおおおおおおおおおおおおおい JupyterLabでC言語で言うところのインクルードをすることはできませんか? hoge.pyというファイルを作って、 hage.ipyndから呼び出して使いまわしたいのです
勉強会やるんだけど実行環境用意しといて!で事前準備させるとそれぞれ環境差異でのややこしい自体にならないかとか不安なんだけどどうするのが安定なんだろう
あーこんなんあったのかちょっと触ってみる 見た感じ結構良さげかもグーグルアカウントとpc用意してねで済むし ありがとう
多人数が同時に同じようなことをすると google が嫌がってアクセス制限 ということにならないのかな?
googleはいざというとき信用出来ない やってみた程度なら良いが
勉強会のハンズオンなんてやってみた程度だしいいんじゃねえか
どなたか助けてください。 標準入力から 5 12 を得て、5...12を出力する問題です。 ボクがやったのは変数=int(input()) print(変数+1)...というやり方で出力しました。 出力結果と求められていることは一致していると思いますが過程が悪いのか減点され正解になりません。 whileも考えましたが、変数=input()のため、演算子で〈=13として、開始を変数=1のようにしてみても、標準入力込みの終わりの書き方がわかりません。標準入力で得た整数を+1しながらループ処理をする方法がありましたら教えてください。
>>18 >変数=input()のため もう1つ来る入力の「12」をどうするつもりなんだwww >標準入力で得た整数を+1しながらループ処理をする方法 そこまでわかってるなら forループでも whileでも 好きなほう使えよ おまえの勝手な解釈を基に造ってもどうせまた減点されるんだから 端折らずに問題文全部載せろ
こちらが問題になります。 標準入力で2つ(2行)の整数が与えられます。 1つ目の数値から2つ目の数値までを、1ずつ増加させながら、1行ずつ順番に出力するプログラムを作成してください。 たとえば、3と5という数値が与えられた場合、次のように出力します。 ``` 3 4 5 ``` ※1行目の数値は、2行目の数値よりも必ず小さい値が与えられるものとします。 よろしくおねがいします。 私も再度取り組んてみます。
inputがだめで stdinから嫁ってことじゃね 知らんけど
テキストとか説明が一切なくていきなり問題だけだされてるんかな スパルタやな
いよいよ夏休みか 将来は小学生の問題にも対応せんといかんな
#付きでループ処理してねという助言はありました 与えられた数字は 5 12 です。 使える技術はfor while if int str です。
なつやすみプログラミングきょうしつでも通っといて… って小学生が2chなんて来ねえよ そいつも小学生みたいな知能のおっさんだろ 救えなさすぎる
>>27 それは26に言ってやれ >#付きでループ処理 たぶんprint処理についての助言だと思うぞ もう1つヒント >演算子で〈=13として たぶんここは減点対象だな 13っていう値を、入力その2(12)から自動で導き出すようにすべき >使える技術はfor while if int str おk それだけできて あとinput()も理解してればこの問題は解ける。 んで できたorできかけのコードをうpして助言を求める場合は >>1 で紹介してるソースコード用うpろだのどれかを使え。 直コピペで提示されると 【複数の連続半角スペースは1ツにまとめられてしまう5chの仕様】により インデントが崩れて見づらいのだ。 import sys from_to = [] for n in sys.stdin: from_to.append(int(n)) for i in range( from_to[0], (1+ from_to[1]) ): print(i)
出来ました!! みなさんアドバイスありがとうございました。 ソースコード用うpろだの使い方がどうしてもわからないので、直接書きます。
skypeでメッセージをpythonから送る方法が知りたいんですがskypeはapiがないんでしょうか?
どこを調べてそんな考えに至ったのかしりたい そんなわけないだろ
つskype4py 残念ながら、3系には対応していない
WebAPIのラッパーライブラリは バージョンアップについていけなくて放棄されることが多いよなー 使い捨てでなければ生API叩いた方がいいかもしんない
>>21 a = int(input()) b = int(input()) for i in range(a,b + 1): print(i) 算数で答えと式が違うからxとかみたいな、しょうもない理由な気がする。。。 取り敢えずoにしといて、テスト返却後に模範解答はこれで、これより無駄の多いコードの人は無駄を省く努力をしましょう。 とかすれば良いのに。 じゃあそのテストは2ch以下の産廃だな やらない方がいいか、やってる方の頭がアレなのかは知らんが、 そもそも発端のソースコードが出てきてないのが気になる
元の回答者のコード見ないであれこれ言っても意味ないよね。 質問者のレベルから想像して、おかしなコードかいてても自分では気づいていないだろうし。
自分のパソコンではプログラムが正常に作動するけど、herokuに上げて実行するとエラーが出ます スカイプで時間を呟かせるプログラムですが、デプロイっていうんですかね?アップロード的な作業は正常に出来てるっぽいです アドバイスを頂きたいのですが、無知すぎて何を晒して聞けばいいのかすら分からないので、そこからご指示頂けますでしょうか?
エラーのときに出た文章そのままをググろう 世界では前例が多い
ほんまめっちゃググりましだが、全然分からずここに来た次第でござる
エラーメッセージ貼ってみて 長すぎるならideoneとかpastebin使って貼ってみて できれば省略はしないで
質問です。 print(..., = end””)とすると次の print(...)と 改行しないで出力出来ると習ったのですが whileで出力した返り値を, = end”” としても改行されてしまいました。 whileでは改行されてしまうのでしょうか? ループ手段を使わずに自力で全て書いて出力したところ減点されてしまいました。 どなたか助けてください。
>>37 変数=intで入力するのがよかったみたいです >>44 printの書き方はprint('hoge', end='')だぞ ちゃんと授業聞いてるか? >>44 そこまで売る覚えできてたら python print end とかでググったほうが早く回答得られたと思うよ >>45 >37氏はちゃんと変数=intのかたちで書いてくれてるじゃん >>47 こいつの検索能力などの低さをなめてはいけないとおもふ 質問です。 (a+1 b+1)をループ処理しながら同じ文章にするためにはどうしたらいいのでしょうか?? 別々で計算は出来るのですが、改行なしの同じ文章することが出来ません。
>>46 hogeはまだ会得していませんが、endは再確認出来ました。 意図するところが全く分からないので期待する出力を示せ 話はそれからだ
初心者スレなのは分かるけどびっくりするほど授業のレベル低いな
>>52 西暦a年は昭和b年です という出力がしたいです。 aとbは標準入力から得ます。 10年分の出力がしたいです。 以下の指摘についてレスを書く前に まず>>37 を理解し、マスターしろ >>55 はしょるな 全文のせろ >>58 を改造して提出したら チートしたのがばればれw 問題です。 標準入力から、1行目に西暦年、2行目に年数が与えられます。この西暦年から始まる、年数分の「西暦年と昭和年の対応表」を出力するプログラムを作成してください。 対応表は、「西暦XXXX年は昭和YY年です」と表示します。昭和年は、西暦1926年から西暦1988年までの期間で、「西暦年 - 1925」で求めることができます。 なお。与えられる西暦年は、昭和年に対応しています。年数も、昭和年を超えることはありません。 1975 10 よろしくお願いします。
まず自分で作ったうまく動かない無様なコードを晒してみんなの笑いものになってからだ。
一体何のためにプログラミングを学んでいるのか理解に苦しむな y = int(input()) n = int(input()) print([ for i in n])
少しずつやれること増やしていくんだよ ここにはそのために役立つコードいつくか集まっているのだから さっさと実行して身に着けてしまいな
上から目線でエラそうなこと言ってるけど実は全員初心者だから気にするな
適当に人気のある入門書買って勉強すればある程度はいけると思うけど
>>61 >>64 がヒントあげてくれているので それと37のヒントを 参考にしてつくったコード(たぶんエラーがでて、望んだようには出力されないだろうがおそれるな)を http://codepad.org/ にでもうpって ここにそのcodepadアドレスを貼れ >>66 C言語の超入門の授業(半期のみ、週1コマ)を真面目に受けて、以降は独学 >>61 追記 >>58 氏がおまいのレベルからすると明らかにズルしてるのがバレバレバレレベルの回答を貼ってくれてるので それもよめ Ruby で作った nums = <<"EOT".lines( chomp: true ).map( &:to_i ) # 数字の配列。改行は削除 1975 10 EOT #=> [1975, 10] nums[ 1 ].times do |idx| # 10回ループ puts "西暦#{ nums[ 0 ] + idx }年は昭和#{ nums[ 0 ] + idx - 1925 }年です" end 出力 西暦1975年は昭和50年です 西暦1976年は昭和51年です 〜 西暦1984年は昭和59年です
100GB近くあるテキストファイルを50万行ずつに分割する処理の途中で 誤って処理を止めてしまったのですが、途中(仮に500)からイテレータを始める方法を検討いただきたいです。 ファイルの読み込みはpandasのread_tableでchunksizeを50万で指定しています。 skiprowsを50×10万行で指定したらmemory errorを起こしました。 読み込みだけで一回10秒程度かかるため、dataframeを作成せずにイテレータをインクリメントしたいです。
仮にn行目まで処理したかわかってるならdf[n:]でいいんじゃない エラー吐くなら知らん 何なら最初からやり直したらいいと思う
一行ずつ読んでいって num_of_line += 1 if num_of_line > 500: do_something のようなパーツ挟む
UWSC→AutoIT→Pythonで簡単に移行できたからUWSCから覚えてみては! PythonもKivyのGUIから入ったからprintのendオプションとか昨日まで知らなかったわ
どうしても Windows でキーマクロしたい時の最終手段がUWSCというイメージ キー入力付近で書くことで抽象化があまりできず ネストも深まりやすい感じが伺える python で済むならpythonで終わらせて キーマクロ言語は触らないほうが良いと思います (vim のキーマクロを書くことがあるが、 同様の理由で異常に読みにくい) >>55 要するに、10回西暦と年号の入力と出力を繰り返したいのか。 しかも西暦から年号の変換をプログラムでしないで手計算とかintにする必要も無い。 forの変数も問題からすると使わない。 (問題自体が学習者を混乱させるクソ問題) ヒントは以下2つ ヒント1 for i in range(10): ヒント2 a = input() print(“西暦” + a + “年“) intじゃなきゃダメとか意味不明な事言って来たら、intにするなら西暦だけ入力にして年号は計算で出せやと文句垂れつつヒント2を以下に変更。 a = int(input()) print (“西暦”, a, “年“) あくまでヒントだから、元にして自分で問題解いてね。 >>61 あ、勘違い。 最初の西暦と、そこから何年分を出力するかの年数を入力して、年号は計算して出すのか。 んじゃあ a = int(input()) #西暦 b = int(input()) #年数 for i in range(b): print(“西暦”, a + i, “年”) みたいな感じでおk。 授業でforの使い方をどの程度教えているかにも寄るからね。 for i in range(a,b):の形まで教えているなら >>83 のforは for i in range(a,a + b): になるので年号計算の式を短く出来るけど、 その形を教えてないとxとか言われそうだしねぇ。。。 赤い数字が要素で黒文字は接点の番号です。 それぞれの要素に含まれる接点を自動で求めるコードを作っているのですが、なかなかできません。 結果が配列で出てくるようにしたいのですが、どうすればできるのでしょうか。 要素番号,接点番号1,接点番号2,接点番号3 1,1,4,5 2,1,2,5 3,2,5,6 のように作りたいです。 For文を要素の個数だけ回して、そこからができません。 お願いします。 >>> [(lambda n, x: (n, (x, x+3-6*((n-1)%2), x+4-8*((n-1)%2))))( n, ((n - 1) // 2) + 4 * ((n - 1) % 2) + (n > 4) + 1) for n in range(1,9)] [(1, (1, 4, 5)), (2, (5, 2, 1)), (3, (2, 5, 6)), (4, (6, 3, 2)), (5, (4, 7, 8)), (6, (8, 5, 4)), (7, (5, 8, 9)), (8, (9, 6, 5))]
座標を使えば上手くできる気もするのですが、上手くコードにできません。
ありがとうございました。 教えて頂いた式の意味をしっかりと理解します。
>>86 こういうお話を一般化するとドロネー分割というのがあるから調べてみると幸せになれるかも知れない たびたび申し訳ございません。 2つのcsvファイルを組み合わせ、新たに配列を作るのはどうすればよいのでしょうか。 座標csv 番号, x, y 1, 0, 0 2, 0, 0.5 3, 0, 1 4, 0.5, 0 要素csv 要素番号, 接点1、節点2、節点3 1, 1, 4, 5 2, 1, 2, 5 3, 2, 5, 6 4, 2, 3, 6 の2つのリストから 要素番号、接点1の座標、接点2の座標、接点3の座標 1, (0,0) (0.5,0) (0.5,0.5) 2, (0,0) (0,0.5) (0.5,0.5) 3, (0,1) (0.5,0.5) (0.5,1) のようなリストを作成したいです。座標csvには接点の座標が入っており、 要素csvにはその要素に含まれる接点が含まれています。 そこで、要素csvの、要素番号に該当する座標を、座標csvから持ってきてリストを作りたいということです。 配列の扱いがイマイチ理解できません。 配列は1行しか扱えないのでしょうか? まとめてcsvを読み込んでも、最後の行しか表示されません。 教えてください。
>>95 >まとめてcsvを読み込んでも、最後の行しか表示されません そのソースコードうp うp先は>>1 から選ぶよろし >>95 余計な要素である番号と要素番号消しちゃえ 結果をどう持ちたいのか分らんけどこれでどう? import pandas as pd import pprint # element_path="要素.csv" # point_path="座標.csv" # element_pd = pd.read_csv(element_path, index_col=0, header=0) # point_pd = pd.read_csv(point_path, index_col=0, header=0) element_pd = pd.DataFrame({'x':[0,0,0,0.5], 'y':[0,0.5,1,0] }, index=[1,2,3,4]) point_pd = pd.DataFrame({'point_1':[1,1,2,2], 'point_2':[4,2,4,3], 'point_3':[4,4,4,4] }, index=[1,2,3,4]) element_dict = element_pd.to_dict(orient='index') pprint.pprint(element_dict) point_pd = point_pd.applymap(lambda d: '(' + str(element_dict[d]['x']) + ',' + str(element_dict[d]['y']) + ')') point_list = point_pd.values.tolist() pprint.pprint(point_list)
JIT って、実行時に、ネイティブ機械語にコンパイルするやつか? こういうのは、10〜100万回以上ループしないと、起動されないだろ ループ回数が少ないのに、コンパイルしたら、 コンパイル時間が掛かるから、かえって遅くなるから
ループを万単位でやるような処理にしか効果が無いのですね。 Numpy配列を処理するのに数分〜数時間かかるので、短縮出来たらって思っていたのですが、 ループが数十回程度では意味が無いと。
PythonistaとSiriで遊んでるけど正直やることない
Pandasって癖強くない? 一次元配列作るにはpd.Series 二次元配列作るにはpd.DataFrame 要素を参照するときはdf.loc locつけないとdtypeとかまでくっついてくる でもnumpyにはない機能があって便利 クセが強いんじゃあ
癖はあるけどそこまで強いとは思わない (もっと酷いのがあるからね) 行指向と列指向の違いなだけ
クセが強いのはむしろ matplotlib の方だと思う
Ruby では、 JRuby(Java 実装系)のJIT は、百万回からコンパイルされる。 一千万回(実行時間で、1秒)では、なんと、MRI(C 実装系)よりも速くなる!
早さより美しさがpython 2->3 で遅くなった
pandas で df.loc[x] のようにloc内に変数を入れるとエラーが出るのはなぜですか? inputで数字を入れたいのですが、うまくいきません。
>>113 インデックス指定ならlocじゃなくてiloc matplotlibはメインフレーム時代の描画ライブラリを思いだしてしまう
組み合わせの問題で、10個の要素を2個ずつに分ける組み合わせは itertools,combinations(range(10), 2) で出力できますが、10個の要素を1,2,2,5個に分ける組み合わせ というように均等ではない個数に分ける場合、どうやればいいでしょうか? ここでし知りたいのは組み合わせ数ではなく実際の組み合わせのパターンです 10個の要素を1,2,2,5個に分ける組み合わせ数だけでしたら C[10,1]*C[9,2]*C[7,2]*C[5,5] で求まるのはわかりますが、itertools,combinations のようにその実際の組み合わせパターンを出力させたいのです よろしくお願いします
10->5+5 5+5->5+(3+2) 5+3+2->5+2+2+1 で良いんじゃね
>>117 再帰なのであまりにも多い要素の組み合わせは出せないけど、これでどうでしょ from itertools import combinations def my_combinations(iterable, rs, tmp=None): r, *rs2 = rs for t in combinations(iterable, r): tmp2 = [] if tmp is None else list(tmp[:]) tmp2.append(t) tmp2 = tuple(tmp2) if rs2: lis2 = list(iterable)[:] for i in t: lis2.remove(i) for r in my_combinations(lis2, rs2, tmp2): yield r else: yield tmp2 if __name__ == '__main__': for t in my_combinations(range(10), (1, 2, 2, 5)): print(t) Pythonを勉強するならWindowsとMacのどちらが良いですか?
Linux仮想マシンでやるのがいいけど 苦手なら持ってるマシンで適当にやればいい
うbyなら絶対MacだがPythonならどっちでも良い
何でpythonクラスには、privateが無いのよ!
ここは開発者のお気持ちを予想するスレッドじゃないのでTwitterで直接聞いてこい
そんな思い処理やってないはずなのに処理が重い って時はどうやって測れば良いの? 処理時間てよりどれくらいメモリ使ってるかとかが知りたい あとタスクマネージャで見たpython.exeのメモリ使用量が大きすぎて気になるけどこれ信用していいのかな…
ターミナルで実行した時はメッセージを出すための処理をしたいけど、crontabで動かすときはメッセージは不要だからその処理は飛ばしたいです どう書くんでしょうか?
どうもありがとうございます なんだか難しそうですね ターミナルかcrontabのどちらで起動させてるかをなんらかの方法で判断して、ifで分岐させればいいのかなーって思ってました
if sys.stdout.isatty(): print('hoge')
>ターミナルかcrontabのどちらで起動させてるかをなんらかの方法で判断して、ifで分岐させればいいのかなーって思ってました そうだよ 最初にif一回だけ書けばあとは切り替わるのがlogger コードの至る所にif埋め込む積もりだったのか?
>>133 、>>134 そうです。いたるところにif書き込まないといけないのかなぁと思っていました。 じっくり調べてみます。 関数A 関数B(Aをターミナルに出力) 関数C(requestsを使ってapiにAをpost) 関数D(時間がかかる処理) があるとします 関数B〜Dの3つをThreading.Threadを使うと 関数Dが動き始まるまで時間が逆に1秒くらい遅くなってしまいました concurrent.futuresだと速度改善出来るかもしれないっぽいんですが、シングルコアのRaspberry Pi Zeroでも早くなりますか? シングルコアだからmax_workersは1にしないといけないと思うので、concurrent.futures使う意味ないですか? pythonでGUI操作で、たとえばネットワーク接続設定で、IPアドレスを入力する欄 があると思うが、これを手入力でなくて、pythonで代わりに入力することは可能? ソースコード的にはどうなるのかな。
Python (Python 3.7)のインタプリタで真偽値に色を付けることって可能ですか? >>> l1 = [1, 2, 3, 4, 5] >>> 3 in l1 True ↑このTrueを例えば緑色にしたいです。
>>136 Windowsだと仮定してpywinautoってのがあるみたいだな linuxなら設定ファイルいじった方が早かろう >>136 windows ならコマンドプロンプトから netsh 使え それでうまく行ったら python からそれを実行汁 windowsでPython動かす時、windowsにpythonインストールするのと、WSLのubuntuにpythonインストールするのどっちがいいんだろ rubyみたいにlinuxの環境にしておいたほうが無難かね
やりたいことによる。 windowsのguiアプリ作りたいとかじゃなけりゃ後者でいいんじゃ
winにwin版pythonインスコでいい。 pythonはシェアが大きいとわかってるwin版を凄く重視してる。 シェアが大きいとわかってるOSを軽んじる言語は衰退してくから。
WindowsユーザーをコケにしてPython にシェア取られて衰退したRubyの悪口はやめろ!
WindowsでPythonはじめたけど便利なライブラリ多くて楽だわ ライブラリ以外の7割くらいctypesで書いちゃってるが
普段遣いのアプレット用にウィンドウズ版 WSLで作業するとき用にLinux版 というか、WSLでubuntu入れれば勝手に入ってた
>>140 漏れは、WSL, Ubuntu 16.04 と、1つ前のUbuntu 長期版だが、 Python は最初から入っている which python /usr/bin/python which python3 /usr/bin/python3 file /usr/bin/python /usr/bin/python: symbolic link to python2.7 file /usr/bin/python3 /usr/bin/python3: symbolic link to python3.5 *.pywファイルでno consoleモードを実現できるので、 wsl使ってても、windows版pythonは外せない。 api呼び出せば、wshの代替ができる。 >>148 wsl(ubuntu)ではpython 2.7は入れてない(デフォルトでは入らない)ので、 python3をpythonで呼び出せるようにaliasを設定してる。 >>142 136だが、ウインドウアプリを手動操作することをpythonにやらせたい。手動といっても同じことの繰り返しだから、このルーチンをpython にやらせて楽したい。 >>151 僕がやろうとしていることはpython では不向きですか?率直なコメントを >>152 できるが ズブズブの初心者がそこまでできるようになるくらいなら KMmacroの使い方覚える方がずっと短時間で済むぞ 別にマシンスペックが足りないとか、そういう心配はない 向き不向きで言えば、Python自体が初心者にも優しい言語だし
ちげーなー わざわざこのスレに質問しにきてるってことは 潜在的にpythonをやりたいんだよ
>>152 向いてますよ PythonはGUI操作もうまくできます WindowsにおけるGUI操作基盤であるUIAutomationやWinapiをベースにしたラッパーパッケージが幾つかあります AppiumでWinappdriverを活用する方法もあります 画像認識ベースのOSS Sikulixも有名ですね ただ知っておいて欲しいことはGUI操作がうまくできるからといってそれが最も効率的なやり方とは限らないということです 多くの場合において同じ結果を得るためにGUIを使わない方法があります Pythonから利用するならGUIを使わない方法の方がより効率的です >>149 Debian 10(buster)2019/7/6 では、 python は2.7、python3 は、3.7 だけど ちなみに、Ruby は2.5、Node.js は10.15、PHP は7.3、 Rust も入っていて、1.34 そうか、Ubuntu だけは、python2系から脱却したのか >>159 誤解されたかもしれんが、 aliasがデフォで設定されているわけじゃないので、念の為。 漏れは、WSL, Ubuntu 16.04 だけど、 そろそろUbuntu 18.04 に変えようかなとも思っている VSCode では、Remote WSL 機能をインストールしろと、さかんに勧めてくるw
>>148 Pythonで一番ユーザーの多いOSはWinだろうからな Linux・OSXで超使われても、Winで超使われないと真のメジャー言語になれないだろうからな プログラム未経験者です。 下記の内容で詰まってしまったので教えてください。 (現状) 1.pythonで簡易webサーバーを起動。 python -m http.server --cgi8080 2.文字列を表示するアプリを作成してブラウザで実行。 (質問箇所) ・ブラウザに表示されるが日本語や全角文字は文字化する ・文字列を半角数字や英語のみにして試してみたら文字化せず表示される。 日本語や全角文字を文字化せずに表示させるにはどうしたらよいでしょうか?
>>163 まず Pythonのバージョンと 使ってるパソコンのOSを述べよ >>164 python3.7.3 win10 です >>164 ブラウザでページ更新するとwindowspowershellには CGI scripts exited OKと表示されます >>165-166 >>168 文字コードの宣言がないとブラウザが正しく日本語文字(2バイト文字)解釈できないんだろう Python3系ならデフォルトはUTF-8なので ブラウザに文字列を出したいのであれば 表示したい文字列より前、先頭に htmlの文字コード宣言(UTF-8)を行う必要があると思われ 「html 文字コード UTF-8 宣言」あたりのキーワードでググれ >>169 そういうこったな。 Python には無関係。 <meta http-equiv="content-type" charset="utf-8"> >>170 おまいイイ!!(・∀・)ヤシ >>171 IDコロコロ変わる環境のやつは 自分が何番の質問書いたやつなのか名乗らないと誰かわからないぞ (今回はわかるが) 次から書けよ pylintの対処法 まず行が長いと怒られて、 行長減らすために処理を別行の変数に分割した、 そしたら変数が多いと怒られて、 変数減らすために場合分けで変数を使い分けるようにした、 そしたら文と枝分かれが多いと怒られた。 詰んだ。 無視するのは簡単だけどこの人に怒られないコードを書くにはどうすればいいのか。
本当にむかつく。 変数名簡略化せず何の変数かすぐ分かる命名をとか言っといて、 長い変数名で行が長くなったらこの仕打ち、 許せない
標準ライブラリでいいから人が書いたコード読んでみたら それか、ここで晒してもいいんじゃない
>>173 見る限りそんなレベルじゃないでしょ 行の分割も知らないんだし 無駄に深いネストとか関数として書き出した方がいい部分とかもありそうだし 書き方知らずに規約に従おうとしてもストレス貯まるだけだと思う とりあえず、autopep8 を実行してみるのもいいかも 勝手に修正するのは自分の好みではないけど pylintではなく、flake8を使ってる この程度の指摘で十分だと思う
頼まれてもいない(と思われる)linterを導入して怒られて腹立てるって何もメリットないなw
ipythonで以下のように入力するとき簡単に打つ方法はありますか? 例 ('jack') 毎回括弧閉じや「''」を都度打っていますか?
>>180 エディタはAnaconda promptになります。 >>184 自己解決しました 多分forループで回してその中でifで探して見つかったらbreakかな? Python初心者です。 proxy.txtにプロキシリスト(形式は0.0.0.0:000のようになっています)があり、そのファイルからreadlinesで読み込ませて串を噛ませながらスクレイピングするコードを書いています。 readlinesで1行づつリストに格納しているのでproxy.txtを作成する時には\nを入れて串ごとに改行するようにしていました。 しかし、実際にやってみるとi="0.0.0.0:000\n"のようになっておりパースエラーと表示されます。 皆さんは串のファイルを作るときはどのような形式にしていますか? また、今回のような状況でどのようにすれば改善されるのでしょうか。
Ruby なら、chomp で改行を削除できる p text = <<"EOT" #=> "1\n2\n" 1 2 EOT p ary = text.lines #=> ["1\n", "2\n"] p ary_2 = text.lines( chomp: true ) #=> ["1", "2"]
>>173 lintを10割受けてたらバカになるから6割程度で受けるが吉 gitのhookでlintでエラーがあったらコミットせないみたいな事をやってる所は少数派なのか
>>185 この続きです スクリプトを動かすとネットワークプレーヤーで再生中の曲情報をターミナルに表示します まれに曲を変えるタイミングでスクリプトが落ちてしまいます 37行目で落ちるので、38行目からのようにしてみたけどやっぱり落ちちゃいました 落ちないようにする方法はありますか? >>193 自己解決しました 37行目でintに返還してたのをやめて、ifの中の39行目を追加したらうまくいきました >>192 少数派っつーかごく一部の意識高い奴しかやってねえよ Reactのリポジトリすらやってない >>195 その「意識高い」ってのは マジで意識が高いのかそれとも「意識高い系」なのか……。 python3でマルチスレッド処理をしたいです def a(b):で作成した関数aをwhile無限ループ内で何度も繰り返したいです。 しかし、TypeError: a takes 1 positional argument but 18 were given(18のとこは15-20くらいで色々ある) となってしまいます。 何がおかしいんでしょうか? どうやったら治るか教えてください
>>200 その間違っているコードを示さないことには何が間違いか指摘しようがないぞ >>201 threading.Thread(target=a,args=(b)).start() argsにタプルを指定した気になってるようだけどタプルじゃないって奴だな
>>203 つまりどう直したらいいんでしょうか・・・ すみません threading.Thread(target=a,args=(b,)).start() threading.Thread(target=a,args=((b,))).start()
一要素のタプルとかいう意味不明な物を許してるからこういう問題が存在するんじゃないの
thread使ってるけど気にしたことないなぁって確認したらargs使ってなかったわ 引き渡すの全部Globalに入れちゃってるや
a=10 b=a/2 print(b) ってしたら、5.0ってなるねん 5ってしたいねん どうやったらいいん?
>>212 print(b) この部分を、 print(int(b)) とかじゃ整数にできんかね? >>214 じゃあ a=int(10) で最初に指定してあげるとかなら? >>217 いいよ うんちぶりぶり!! プログラミングなんてトライアンドエラー繰り返しだと思うしガンガレ >>221 友達おらへんやろ? なったろか? さみしないか? b=a//2 または print(f'{b:.0f}')
>>222 トライは動詞、エラーは名詞だから トライアンドエラーは間違い 精進しろよ?w >>212 python3からは勝手にfloatに変換されるので、intで閉じさせるならa//2とする カタカナで書いてる時点で和製英語にきまってるだろ 英語の文法とか何の関係もねーよ
スマイル・シンデレラは間違い スマイリング・シンデレラと呼ばなければならない で、だからなに? って話だなw
>>229 それ りんごは英語でアップル くらいの知能レベルの文 例えば「エンバグ」は和製英語だが(その証拠に英英辞典には載っていない) プログラマで使ったことないやつなんか10%もいないだろ
VSCodeのPythonの型推論がクソ進化してる もう型アノテーションいらないんじゃないかこれ
こないだテレビ見てたらカーボーイハットの男が叫んでた。
>>233 自分の常識が世間一般の常識と思い込むのイクナイ >>233 それ業界英語だからや 普通に英単語でもあるぞ enbug >>235 アクセス過多で業務妨害罪でタイーホ! URLてきに、apiでとれるようになってるんだろうから そこ用のapiの勉強しんしゃー ていうか英語の接頭辞のニュアンスくらいマなら知っとるやろ
>>240 CollinsにもWebsterにもMacMillanにもODEにも載ってないのに「英単語」と言い張るのは無理がある もちろんこれらの辞書はすべてdebugはコンピューター業界での用法も当然に収録している これでも不満ならありとあらゆる英単語を載せているOEDを引けば答えがわかる ちなみにenbug.orgにも「日本語由来」と(英語で)書いてある 正確には「日本語圏でしか使われていない単語」か 要するに和製英語を一部の人間が英語に持ち込んでるだけで英単語ではない
>>235 r = requtsts.get(url) d = r.text d = json.loads(d) これで最新の10件が取れますが[]で括られてます リストってことになってしまうから例えば d = d[0] とやれば1件目が取れます 10件欲しいならforループ使えばいいのは分かるんですが、例えばissueの中のtypeを取り出したい時 for dd in d: sType = dd['issue']['type'] print(sType) これだと KeyError: 'issue' とエラーが出るのはなぜですか? コードガールこれくしょんの問題8-4をやっているんですが、以下の回答のどこがダメなのか分からず先に進めません…; かなり初歩的な質問で申し訳ないのですがどなたか教えていただけると助かります。 from random import randint #1から10のランダムな整数を出力して下さい。 a=randint(1,10) print(a)
print(randint(1,10)) これをループして
>>251 randrange使うんじゃないの?知らんけどw 揚げ足とるとそれだとランダムな整数が代入された変数を出力してるもんなぁ糞だけど
>>250 issueが無いデータがあるからでしょ if 'issue' in dd: とかでキーが存在するか確認しろ >>251 ちょっとやってみたけど 『文字列「"sky"」を出力してください』で print("sky")で蹴られるとか明らかになにかおかしいだろこれ 251です。他のステージもプレイしてみましたが、以前は正解になった回答↓でも不正解になったので公式側に不具合が起きているのかもしれません; 時間を置いて再度試してみます。コメントありがとうございました。 #文字列「egg」を出力してください。 print("egg") #10から2を引き算して出力してください。 print(10-2)
>>259 for p in points: # print(p) # sys.exit() s = p['scale'] s = str(s) s = scaleDic[s] a = p['addr'] print(a, end=" ") こうやるとaのvalueが横一列で表示されたので、試しに print(a, end=" ", s end=" ") こうやってみたらエラーでダメでした >>261 どうもありがとうございます formatの使い方ですが、 print('{1} {0}'.format(points[0]['scale'], points[0]['addr'])) print(f'{points[0]["addr"]} {points[0]["scale"]}') pointsの0番目を指定しているのでどちらも同じく 村上市 20 と表示されます pointsの中にはいくつか入っているので0番目だけじゃなく全て表示したいのでforループを使いました だけれどそれだと縦にプリントされてしまいます .formatの指定の仕方で横にプリントが出来るということですか? l = ['{}({})'.format(p['addr'], scaleDic[str(p['scale'])]) for p in points] print(', '.join(l))
print(a+"("+s+")", end=",")じゃだめなんか知らんけど
改行無しを多くつかうなら def princ(x):print(x,end="") で、end=""を少なくすると良いかも
これでお願いします http://ideone.com/GEHy2w template = '{0} ({1})' for p in points: p['scale'] = scaleDic[str(p['scale'])] output = [template.format(p['addr'], p['scale']) for p in points] print(*output, sep=', ') 君のは無駄すぎる print(', '.join(f"{p['addr']} ({scaleDic[p['scale']]})" for p in dd.get('points', [])))
>>268 うびぃも後出しじゃんけんでperlをdisってるからな 他人の事は言えんやろ >>260 print(f'{a}({s})',end=', ') 一番最後にも , がつくのが少しうざいけど。 end= と言うのは print文の最後を改行の代わりに指定文字を出力して終わると言う意味だから、複数指定するのは間違い。 >>263 どうもありがとうございます! l = [f'{p["addr"]} (震度{scaleDic[str(p["scale"])]})' for p in points] ll =', '.join(l) print(ll) f'に置き換えても動きました! >>264 >>265 どうもありがとうございます! これらも確認してみます! prefs = {'山梨': 2, '東京': 42, '北海道': 2, '千葉': 12, '神奈川': 31, '茨城': 1, '埼玉': 5, '静岡': 3, '栃木': 1, '沖縄': 1} これを valueの多い順に、 東京 (42), 神奈川 (31), 千葉 (12)... と並べる方法もありますか? prefsSorted = sorted(prefs.items(), key=lambda x: x[1], reverse=True) この関数だと、 [('東京', 42), ('神奈川', 31), ('千葉', 12), ('埼玉', 5), ('静岡', 3), ('山梨', 2), ('北海道', 2), ('茨城', 1), ('栃木', 1), ('沖縄', 1)] value順に並べられるけど、リストでも辞書でもなさそうな形式に変わってしまいました。 不要な文字をstripやreplace等で消そうと試しましたが、タプルだから無理とエラーが出ました。 教えていただいたように pp = '{} {}'.format(pSk, pSv) for pSk, pSv in prefs.items ppp = ', '.join(pp) print(ppp) これには応用出来ませんでした
pp = ['{}({})'.format(i[0],i[1]) for i in prefsSorted] print(', '.join(pp))
>>266 formatの対象を別変数に入れたり、printでsepを使う時にアスタリスクが使える事が参考になりました >>267 これ (>>263 ) をさらにコンパクトにしたってことなんですね >>272 なるほど scaleDicのkeyをstrじゃなくintにすればよかったんですね >>277 どうもありがとうございます! formatでいけるんですね じっくり調べてみます >>281 p['scale'] の代わりに p.get('scale', 0) としてscaleDict[0]のところに'不定'など入れるべき >>281 24行目 scale = dic.get(k, “不明”) >>283 >>284 どうもありがとうございます 辞書を.getで使う事は知っていたけれど,で区切って代入したいものを書けば見つからない場合にそれが代入されるんですね 25〜26行目も不用になりました 勉強になりました >見つからない場合に じゃなくて代入するべきkeyが無い場合 ですね
Ruby には、式展開がある 文字列内の#{ } 内に、変数・リテラルなどの式を書くと、 式を評価してから、文字列に変換する 文字列に変換する際、Object#to_s が呼ばれる a = 1 p "答え : #{ a + 2 }" #=> "答え : 3" こうやって簡単に、可読性が高いプログラミングができるから、Rubyは初心者向け。 Python では、こんなに簡単に書けないから、ものすごい時間を浪費するw
>>288 Rubyくん Python3.6からf-stringが導入されたからできるよ 精進したまえ a = 1 print(f'答え: {a + 2}') 答え : 3
>>291 自分はこのやり方しか知らない 3.6以前や2の時代はどう書いてたんですか? xを2*10の行列にしたいんだけど、なんでこれだと20次元のベクトルになっちゃうの? 正解はどうすればよかんべ・・・・ import numpy as np x = np.array([[]]) for i in range( 10 ): x = np.append( x, [i, i*i] ) print(x)
>>292 print'答え:'+str(a+2) とか。 >>293 np.appendの行を x = np.stack((x, [i, i*i])) にする あるいは x = np.arange(1, 10) x = np.stack((x, x*x)).T >>293 サイズが予め分かっているならnp.emptyかnp.zerosで先にそのサイズで作成する x = np.empty(shape=(10,2)) としてから x[i] = [i, i*i] サイズが予め決まっていない場合は、先にリストで処理して最後にnp.arrayにする x = [] for i in range( 10 ): x = x.append([i, i*i]) で入れたあと x = np.array(x) 自分が使ってる参考書の尼レビューに「小学生向け」とか書かれるとあまりいい気がしないね 別に子ども用の記載ないのに(´・ω・`)
>>297 逆に考えるんだ 最近の小学生は大人顔負けで凄いぞ >>298 愚痴こぼしてすまん。 初心者のくせに変なプライドが出てしまったようだ 小学生に追いつけるようにがんばる(´・ω・`) たすけてください>< j = msgpack.unpackb(b'{"a": 1, "b": 0}', use_list=True, raw=False) msgpack.exceptions.ExtraData: unpack(b) received extra data. j = msgpack.loads(b'{"a": 1, "b": 0}', use_list=True, raw=False) msgpack.exceptions.ExtraData: unpack(b) received extra data. j = msgpack.fromjson(b'{"a": 1, "b": 0}', use_list=True, raw=False) AttributeError: module 'msgpack' has no attribute 'fromjson'
クラスstudentがあったとして そのstudentの集合からなるクラスstudentsを作って 各科目ごとの全studentの点数を出すメソッドをstudentsに作りたいんだけど可能です?
>>301 もちろん可能だけども、学校の課題でなければpandasでデータフレーム使うかな >>300 質問の意図が分かりにくいのでキチンと説明しないと回答得られないよ やりたい事は辞書型の{"a":1, "b":0}をシリアライズして、戻すということでいいのかな 辞書型→シリアライズされたデータ j = msgpack.packb({"a":1, "b":0}) シリアライズされたデータ→辞書型 d = msgpack.unpackb(j) もしやりたい事が辞書型からjson文字列を得る事なら、import jsonした上で 辞書型→json文字列 j = json.dumps({"a":1, "b":0}) json文字列→辞書型 d = json.loads('{"a":1, "b":0}') >>304 ありがとうございます! そんな感じにappend出来るのですね。 uwscのCHKIMGXのように裏画面であいまい画像検索できるようなライブラリがあれば教えていただけませんか?
すいません正式な用語がわからなくて… デスクトップ上で、他のソフトウェアがかぶさっていて前面に表示されていない状態です
>>300 What you are looking for is something like FromJson (string)? string JSON to object/MessagePack-Binary is not supported. You can convert JSON to object once, and serialize it as MessagePack and save it again. あいまい画像検索ってなんだよまず 調べてもuwsc関連しかヒットしねぇぞ
多分テンプレートマッチングの亜種だと仮定するとopencvで出来るだろどうせ
俺の少ない知識ではWindows10の隠れた画面のキャプチャは出来なかったと思うので、一旦画面を前に持ってくる必要がある パッケージはwin32guiでSetWindowPosん使ってHWND_TOPMOSTメッセージを投げ込めば良い 隠れた部分がDirectXやUWPなら多分隠れたままでもキャプチャできるんだろうが、そうなると今度はPythonからどこまで操作できるかという別の問題にぶつかる
隠れててもwindowハンドルからdc取得すりゃできるよ デスクトップのハンドルだとウィンドウ全部合成後の拾ってくるから無理だけど
>>313 昔はそれでできた 今はできなかったと思う 試しにFindWindowでhandle取得してCreateDCFromHandleでデバイスコンテキスト取得してみたがウインドウサイズそのままに真っ黒になった Windows Insider版だから自分の環境がおかしい可能性はある 今もできるよ 俺作ったやつは後ろの普通に取れてる アプリによっては無理なのあるけど
>>306 裏画面に存在するのは被検索対象なのかテンプレートなのか 被検索対象とテンプレートのソースは何なのか(ブラウザ等の外部アプリの画面なのか、画像ファイルなのか等) 最低限これくらい書いたらどう uwscが一般に知られてる前提で書きすぎ >>315 あぁ、分かった 色々試して出来るもの、出来ないものがあった 出来ないのは電卓とかUWPっぽい UWPはスクリーンショット取れる別の関数がC#にはあったがPythonはなさげ 質問者のアプリがUWPでないことを祈ろう おっしゃる通りでしたすいません。 あいまい画像検索は、対象とする画面内に用意した画像と似たものが存在するかチェックするもので、検索した感じテンプレートマッチングと呼ばれるもののようです。 裏画面に存在するのは被検索対象で、テンプレートは自分で用意した画像です。 被検索対象はNoxというAndroidエミュレータで、テンプレート画像に近い画像が何度出てきたか記録して統計を取りたいです。 とりあえずopencvを調べてみますね。
OpenCVでChkImgみたいなパターンマッチングは出来てるよ 電卓とかBlueStacksのInactiveCaptureはEnumChildWindows使えばいけるけどNoxならFindWindowとか適当でいい
result = cv2.matchTemplate(img, temp, cv2.TM_CCOEFF_NORMED) loc = np.where(result >= threshold - 0.5) あいまい検索はマッチングのしきい値を下げちゃえばいい
Djangoなんですが { % block % }と{ % include %}って使い分けることはありますか?
htmlソース内でpythonスクリプト走らせてopencvのnamedwindowをWebページに埋め込むにはどうすれば良いですく?
htmlは詳しくないけどwindow埋め込むくらい簡単そうなもんだけどな 意外と融通効かないんだなぁ
融通効かせられるようにするとすぐ脆弱性になって悪いことする奴が出てくるからな
>>330 ウェブサーバを用意してhtmlとpythonスクリプトを分けた上でサーバにアップロードして、分けたpythonプログラムをcgiのようにサーバサイドの処理で画像を作る方法なら簡単だよ サーバレスでファイル一つで全部やりたい場合、HTML内にpythonを直接埋め込んでも動かないので、JavaScript経由で包み込んだbrythonを使うことになり、これがOpenCVを扱えない text/pythonをnativeでサポートするブラウザが出てくるとは思えないので、普通の人はサーバを用意して分けるか、JavaScriptを使う OpenCV.jsも癖が強いので使う人はあまりいない >>JavaScript経由で包み込んだbrythonを使うことになり おいおい、クライアントサイドjavascriptでそんなこと出来るようになったのか?
>>332 へぇ〜 サーバは用意するとして、 そしたらnamedwindowも作れるの? 何がしたいかって、opencvのマウスコールバックを使ってチョメチョメしたい brythonが無理そうなのは329読んで何となく理解した、実態がx86のバイナリでどうこうとか >>334 namedwindowでイベントをともわないのであれば>>332 でも出来る部分はあるが、ブラウザで開いてマウスオーバーのイベントを受けられるのは今のところJavaScriptしかないので、JavaScriptで書く必要がある というか、何がしたいか分からん Python+OpenCVで作ったマウスイベントありのアプリをなるべく簡単にWebアプリにしたいとそういうこと?もしそうなら皆が書いているようにそんな方法はない 俺なら全部html5+JavaScriptで書く 適材適所というヤツだ 嘘をウソと見抜けない人は2ちゃん5ちゃんは向いてない 帰れ
>>335 イメージはflashゲームみたいなのをopencvの windowとマウスコールバックで作ってwindowごとブラウザに埋め込みたい、なんだけど flashゲームも埋め込まれてるしあれもマウスのイベント取得出来るよね? 知らないけどflashゲームも実態はjsなのかな? >>337 基本を勉強した方が良いが体系的に会得する方法はあるんだろうか ブラウザというのはhttpやftpなどの通信プロトコルを使ってhtmlやjpegなどのファイルをダウンロードしたり、アップロードしたりするもの ダウンロードしてきたhtmlに何かのスクリプトがあればブラウザに動作させる事ができるが、ブラウザごとに仕様が異なる 比較的頑張って標準化されたのがJavaScriptで、ブラウザに何かさせるのにJavaScriptを使えと言っているのはこれが理由 追加の機能はブラウザごとにプラグインとして提供され、FlashやJavaは各種ブラウザ用にプラグインがあるから動作する 現在PythonのGUI系イベントを扱えるプラグインは存在しないので出来ない 初めてです。よろしくお願いします アルファベットのみの行を読み込まないor削除する正規表現ってありますか? 例えば これはペンです これはpenです This is a pen というツイートをTwitterScraperで持ってきて、This is a penの行だけ読み込まないor削除したいです 試したコード: for tweet in query_tweets: sentence = tweet.text.replace("¥", " ") removeAlpha = re.sub(r'^[A-Za-z ]*\n', "", sentence
正規表現でできるかも知れないけど "\n".join(x for x in tweet if x.replace(" ","").isalpha()) で用が足りてると思う
"\n".join(x for x in tweet.split("\n") if not x.replace(" ","").isalpha()) だった
>>337 もうクライアント側でリアルタイムでやるのはjavascriptしかない IE以外はプラグイン排除でflashも来年で終了だし、pythonがブラウザで動くようになるのは期待するだけ無駄 datasetを使ったデータベース操作について質問です 各レコードにstarts_date_time、starts_date_timeなどが書かれてあります。 しかし一部のレコードにはstarts_date_time書かれていないNULLになっているレコードがあります。 start_at(UNIX時間が書いてある)は必ず書かれてあるので、もし、starts_date_timeがNULLのレコードがあれば、そのレコードのstarts_atを元にstarts_date_timeに記録したい文字を作成し、レコードをアップデートしたいです。 http://ideone.com/uHg9EB こんなスクリプトを書いてみたんですが、実際に動かすと、全てのレコードのstarts_date_timeが、1番目のレコードのstarts_atから変換したものに置き換わってしまいました。 どこが間違っていますか? 間違い >各レコードにstarts_date_time、starts_date_timeなどが書かれてあります。 正しくは 各レコードにstarts_at、starts_date_timeなどが書かれてあります。 です。
質問です configparserでキーの数値を読み、修正なりした後にsetで書き戻すと =の前後に空白が付くのですが、空白無しで直接書き戻すことはできますか?
write(fileobject, space_around_delimiters=True) space_around_delimiters が真なら、キーと値の間のデリミタはスペースで囲まれます。 なぜ公式ドキュメントを読まないのか
>>349 ありがとうございます 完全に素通りしてました…以後気を付けます >>346-347 >全てのレコードのstarts_date_timeが、 1番目のレコードのstarts_atから変換したものに置き換わってしまいました そもそも、starts_date_time に代入などしてるか? レコードから、その属性を取り出しただけじゃないの? >>346 typoがある stats_at を starts_at にすれば動く if a == '': a is None これ1行に出来ます?
>>353 一行どころか0行にできるよ。それ実行してみた? >>354 >>355 出来ました a = '' if a == '': a is None print(a) a is None と a = Noneで結果が変わるんだけどisと=って違う意味ですか? さすがにそこまで分かってるならGoogle先生に投げろよ甘えすぎ
>>356 あのさ、 a is None と言うのは判定文だという事解ってる? True か Falseが返ってくるんだよ。 a=None は代入文 a の中身がNoneかどうかを判定する時に使う。 a=None print(a is None) #>> True a='' print(a is None) #>> False もし aが 空の時に Noneを入れたければ a = '' if a == '': a = None print(a) #>> None 仮想通貨を取引するbotを作ってるのですが、 たとえば、1分間隔でプログラムを実行して、 条件がそろえば、買いシグナルと売りシグナルを出すのですが、 買いシグナルが出ていても、 1分後にはプログラム動いて、 条件がそろっていないと、 買いシグナルが消えてしまいます、 売りシグナルが出るまでは、 直近のシグナルが、買いのままだと分かるようにするにはどうしたらいいでしょうか? 買いシグナルが一度出たら、 売りシグナルが出るまでは、 プログラムを1分おきに実行しても、現在は買いシグナル中だと分かるようにしたいです。
お前の日記帳…いやファイルに 終了直前のプログラムの状態を書き出しておいて 次に起動した時にファイルから状態を読み込んで継続する
>>361 ありがとうございます、 高度過ぎて意味が分からないけど、 ファイルの状態を書き出して読み込むをヒントに、 工夫してみます。 >>363 >>364 ありがとうございます、 threadがなんなのかも、 CSV書き出しもやったことないのですが、 この辺りを勉強してみます。 知らんけどビットコインて分間隔で値段更新なの? もし違うなら甘えるなよ、コンマ秒間隔で監視して妥協を許すな
2ch 1000get のための監視使ったらあっさりバケツくらった 頻度は負担にならないていどに
>>366 websocketとかいうの使って、 更新時間ももっと短くすれば早くなるかもしれないのですが、 apiで頻繁にリクエストすると、 業者にapiを制限されちゃいます、 それに、 高頻度で取引するやつは、 今の通信環境と、Pythonのスピードでは、 太刀打ちできなさそう、 デイトレで一日数百回までの、 そんなに、スピード重視の高頻度取引でない戦略を考えてます。 >>367 にちゃんでよかったな くにやけんのさいとならこっかけんりょくによってたいほされているぞ 当方、46歳無職ですが、pythonを習得すれば、在宅プログラマーに仕事にありつけますか?
ギャグじゃなくて真剣なんです もう人生終わってますが、何方かご教示ください
>>371 今のところpythonプログラマーの需要は少ないとか? >>371 python案件が増えて来ているのは確かだが、案件の絶対数としてはJavaScriptが多そうだな 在宅希望ならクラウドワークスあたりで探してみたら?案件価格見るとふざけた金額が多いので俺はやらんけど まともな金額の在宅は、会社勤めて信頼を勝ち取った後コネで貰うものだから こういう話はプログラマー板があるからそっちで相談するといい 障碍者年金で暮らしているので、月に10万でも稼げたらなんとかやっていけるんです 仰るとおり、プログラマー板で相談してきます
>>374 エアプかよ 案件数でいったらダントツJavaな Javaって遅くないの?Pythonと同じくらい?
腐ってもコンパイル言語だしpythonと同じな訳ないだろお前は今まで何をやってきたんだ
>>479 JIT だよ。Python にもJITで動く PyPy がある。 Javaって言語の性能云々より未だにそれを中心に扱ってる会社の地雷率が高いから嫌い 1.8以降なら地雷率低いけど
方法論や環境を改善するより属人性を排除して頭数を揃えろ こういう考え方の企業はJavaを採用する傾向が強い気がする
もしかすると逆じゃねえの Javaはそういう傾向を持つ大企業に合わせて適合して進化してきたんじゃね
Javaはオワコンだぞ。難しくてもいいんならc+を勧める。
とりあえずPythonしか出来ないレベルでは10年早いから 何か一つはエキスパートレベルで、 その他のことも人並みにはでき、 その時点で知らんことも短期間で修得でき、 自力での問題解決ができる じゃないと
つまりこんな所で質問してる時点でメンタリティ的に問題ありってこった
スクリプトが複雑になってきたのでコマンドラインパーサーのclickを使ってみたらめちゃくちゃ遅くなってしまったんですが、そういうもんなんですか? オプションを指定しないで $ ./script.py で動かすとヘルプが表示されるけれど、ラズパイZero Wでスクリプトを動かすとヘルプが10秒以上かかってしまいます。。。
使ったときと使ってない時を比べて使ったとき遅いならそういうものなんだろ 他に何かあるのかよ
いまさらだが Py2からPy3への移行が死ぬほどめんどいぉ・・・ (´;ω;`)
>>393 2to3ってそこまで賢くない? futureとかも消してるの? >>394 2to3で機械的にできない、過去の自分の糞ソース作成スキルぇ・・・ (´;ω;`) ラズパイならストレージ=MicroSDが遅いんだろ
>>396 ヘルプだけじゃなくてスクリプトが動き始めるまで遅いです 以下のPythonプログラムを保存して Macのターミナルで実行すると ~~~~~~~~~~~~~~実行するプログラム(udptest.py)~~~~~~~~~~~~~~~~~~~~~ from socket import socket, AF_INET, SOCK_DGRAM HOST = '' PORT = 5000 s = socket(AF_INET, SOCK_DGRAM) s.bind((HOST, PORT)) while True: msg, address = s.recvfrom(8192) print(f"message: {msg}\nfrom: {address}") s.close() ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ print文の行の print(f"message: {msg}\nfrom: {address}")でエラーがでます。 print(f"message: {msg}\nfrom: {address}") ^ SyntaxError: Invalid syntaxとなって、最後のダブルクオートのところでエラーが出るみたいなのですが 何故ですか?Linuxで実行するとエラーにならないんですが、Macのターミナルだとエラーになります
>>399 Linuxの方はPythonのバージョン3.6で Macのターミナルはバージョン2.7です じゃあ明らかにバージョンの問題 f”hoge[hoge]”は3.6からだったと思う
>>402 ありがとうございます バージョンあげてみます python3とpython2 は互換性がないから macのほうにpython3 install して 1行目には /usr/bin/env python3
>>402 >>404 無事実行できました、ありがとうございます リストからランダムな順番で要素を重複なしにすべて取り出すのはどうしたらいいんでしょうか seq = ["a","b","c"] というのから sel_1="b" sel_2="a" sel_3="c" というように各変数に入れたい
ハッシュにいれていって これまでに見たことがあるかチェックがよくあるながれだが python にはバッテリーインクルーデッドなライブラリにそれするのがあるぞ
というか辞書型に変換するやつがあったからそれがこんかいの python でポピュラーな解だったような?
>>406 import random seq_1, seq_2, seq_3 = random.sample(seq, len(seq)) 誰かもっと賢いやり方知ってそうだが。。。 先の手順でできてくるintを入れておくようの、空リストをつくる(仮にlist_hogeと命名) ↓ randintで疑似ランダムな整数をつくる(むろん範囲はリストでエラーが起きないよう指定する) ↓ でてきたintがlist_hogeにないか調べる 調べた結果が、がいしゅつじゃないなら、list_hogeのケツにくっつける がいしゅつなら、くっつけない (try/exceptがいいと思う) ↓ list_hogeの長さがlen(seq)になったらループ終了 ↓ 各変数をつくって1つずつ格納してあーたらこーたらしないで、 そののちやりたい処理をみんな for temp in list_hoge: にいれて、中で sel = seq[list_hoge[temp]] って呼び出す方がいいとおもう
python習得してからの第二言語て何やりゃいいんだろう 業務ではスクリプトレベルが出来ればいいからpythonで十分 rubyやろかと思ってたけどなんか最近伸びてないらしいし
アセンブラとか逆アセンブラとかどうよ バグ取りに活躍できるとおもうんだが >>412 用途次第だけど趣味とか個人規模の業務ならpythonで完結してるから必要ないと思う 具体的にpythonでは出来ないタスクが現れた時にでいいでしょう
>>412 pythonしか出来ないのけ? もしそうなら似たようなものやっても仕方ないからふつうにC系の奴でいいんじゃないか。 ギョームギョームゆうてるけど言語の選択権なんてまずないからなw
えwお前んとこ個人の業務支援スクリプトですら言語決められてるの?w流石に同情するわw
正直一人でやるならbash、awk、sedでいいよねって気がする python必要か?
>>418 ギョーム支援スクリプトしか任せてもらえないんだなw >>423 仮想サーバのLinuxのポートにアクセスできていないと思う 仮想化に使った環境でポートフォワードとかあればそれを設定する 何使ってるの?VMware?VirtualBox?WSL?Docker? 後、送信側と受信側という言い方はやめた方が吉 サーバ側とクライアント側なら明確で誰も迷わない そのコードはlinuxでターミナル2枚開いて自分から自分へ送受信するコードや 別IPのmacに送信したいんやったら127.0.0.1の部分をmacのアドレスに変えなアカンで
WiFi親機がPC同士の相互通信を許可してないと、できなくないか?
>>420 キレすぎやろドンマイ 落ち着いて質問文見直せ? >>424 VirtualBoxを使っています ポートフォワードというのがあるんですね、ちょっと調べてみます 今後はサーバとクライアントに呼ぶようにしてみます >>425 ありがとうございます。Macのアドレスに変えてみます。 >>426 そうなんですか?それは設定が難しそうですねああ >>428 です。 >>425 さん、macのアドレスって嘘ですよね? XX:XX:XX:XX:XX:XX形式のMacのアドレスを打とうとしたのですがエラーになりました 嘘はやめてください もう少しうまく釣れや MACアドレスとmac osとか古典的過ぎる
同じWi-Fiにつながっているなら、同じLAN 内と言うことかな? それで検索すれば?
>>432 ありがとうございます。検索してみます。 VirtualBoxのポートフォワードの設定は出来ました。 MacのIPアドレスはどう調べるのかよく分からないのですが これ以上はPythonというよりはネットワークの話になってスレ違いになりそうなので他で聞くことにします。。 みなさんありがとうございました。 ∧∧ ヽ(・ω・)/ ズコー \(.\ ノ 、ハ,,、  ̄
>>433 ターミナルでifconfig打ったら出るんじゃないの GUIで見るにはシステム環境設定のネットワーク欄だな
5chってSQL文投稿できないんだな インジェクション対策してるのな
なんとかexe のexeの前に「.」打つと送信出来なくなる
pythonを習得できたとしたら具体的にどんな仕事があるんですか?
投稿できない半角英数字は、丸ごと全角に変換すれば? 「アマゾン」も、半角英数字では投稿できない。 5ch は、宣伝も禁止してるし
pipインストールって分かりずらい、 gitもインストールしてないとだめなのかな、 コマンドプロンプトそんな使わない初心者には厳しい。
>>447 gitはいらなかったのか、 なんか、 sudoとか、 python -mとかで、 pipインストールするらしいけど、 どれ使えばいいか分からんわ。 >>448 Windowsだろ? Anacondaでも使っとけ、すべてインストールされる。 djangoのshellでDBを見たいんですが >>> from xxx.models import Post >>> Post.objects.all() <bound method BaseManager.all of <django.db.models.manager.Manager object at 0x000002C4>> となってしまいます 助けてくださいお願いします
スクリプトをラズパイのaptでインストールしたpython3で動かしたい時、python3 hoge.pyとやらないとpython3で動いてくれないです python hoge.pyや./hoge.pyで動かすとpython2になってしまってエラーになってしまいます pipを使う時もわざわざpip3と指定しないとpython3用にならないです わざわざ3を付けないといけないんでしょうか? ./hoge.pyやpipでpython3で動かす方法知りたいです
1行目は一番移植性が低い部分だが #!/usr/bin/env python3 は比較的まし
>>453 どうもありがとうございます 1行目をpython3に変えたら./hoge.pyで動きました あと、lxmlを使う方法なんですが、 pyenvでインストールしたpythonのpipでインストールする場合はコンパイルから始まるからラズパイZero Wだと2時間くらいかかって結局エラーでコンパイル出来ませんでした。 なのでaptでlxmlをインストールしましたが、pyenvのpythonからそのlxmlを使う方法が分からないから結局pyenvはアンインストールしてaptのpythonとlxmlで動かしてみたところ、>>452 の疑問にぶち当たりました。 pyenvのpythonでaptのlxmlを使う方法ありますか? >>450 なんかおかしいね Post.object.all でall()のカッコを忘れたときと同じ表示になってる 出ているエラーが本当なら、all()をall()()とすれば良いと思うけど、もしかしたらxxx/models.pyにミスがあるかな >>454 混ぜるな危険だからコンパイルのエラーを書いた方が根本的な解決だと思うけど、対処療法としては環境変数 PYTHONPATH を設定する 設定方法はaptでインストールしたpython3を立ち上げて import lxml lxml.__file__ でlxmlモジュールのパスが分かるから、lxml/__init.py__を除いたパスを先のPYTHONPATHに設定すれば参照はできる pyenvを台無しにする行為なので、どうしてもというとき以外はやらない方針が良いと思う >>456 どうもありがとうございます pipとaptを混ぜて使うのはイレギュラーなんですね コンパイルに2時間以上かかるので気軽に試せませんが次試してエラーが出た時はまた相談させて下さい >>457 どうもありがとうございます こんな仕組みあったんですね openpyxlで作ったモジュールをexcelの関数内にマクロとして登録するにはどうすればいいですか?
>>452 alias python python3 pythonで様々なpdf資料から情報を取り出したいと思ってます. pdf資料は主に英字論文で,文字,図,式などが混在しているものを扱います. 既存のライブラリだとpdfの種類や図や式などの煩雑性から正確に抽出してくれないのではないかと思っており,いっそディープラーニングで抽出してくれるようなものを作ろうかと思ってます.この程度でディープラーニングを使うのはやりすぎでしょうか? またおすすめのウェブサイトや文献があれば教えていただけると助かります.
>>460 どうもありがとうございます >>457 か>>453 が確実かと思いました この二つだとcronにスクリプトを登録する時もスクリプトのファイル名だけで実行できました pipをインストールする時なのですが、 python36のフォルダと違うところにインストールされたのか、 ModuleNotFoundError: No module named プログラム動かすと、こういうエラーでたのですが、 pipのフォルダを、 C:\python36\lib\site-packages ここにフォルダごと直接コピーしてもいいのでしょうか?
>>463 返信ありがとうございます. 残念ながらGoodleDriveを使うやり方でも文字化けする部分が多い資料です. >>466 すみません windows7です、 pipをコマンドプロンプトでインストールしないで、 pipフォルダを、 直接、pythonがインストールされてるフォルダの、 site-packagesにコピーして使えるでしょうか? >>467 依存関係やアップデートに対応できないからやめとけ venvで環境作って、そこでpip使うのがいいと思う pyenvじゃなくてvenvだからな >>452 漏れは、Windows 10, WSL, Ubuntu 16.04 だけど、 python 2/3系の書き方は決まっているから、 システムを知らない人が、自分勝手に変えたらダメ! こういうのは、システムの基本! 皆、LinuC のような、Linux の資格で勉強する which python #=> /usr/bin/python file /usr/bin/python #=> /usr/bin/python: symbolic link to python2.7 which python3 #=> /usr/bin/python3 file /usr/bin/python3 #=> /usr/bin/python3: symbolic link to python3.5 手を動かして理解するshebang https://qiita.com/takey/items/ae2124531fb57a197b22 /usr/bin/env を使う、shebangの書き方も決まっている! pyenv は、Node.js のnodenv, Ruby のrbenv などの、anyenv 系だろ 新しめのPython の標準は、venv に決まっただろ
Windows以外だと、2/3を判別して切り替えるpyラッパーってないんだっけ?
#!/usr/bin/env みたいなキモいの誰が広めたんだ
pyenvでpythonをインストールして、pipenvでバージョン固定とライブラリの隔離を行うのが最近のベストプラクティスなのかね
>>475 そだね でも機械学習とwindowsの場合はanaconda(miniconda)のが良い気がしてる ケースバイケースで使い分けてるけど仲が悪いのが悲しい >>477 Python開発コミュニティとAnacondaパッケージを管理している人たちの仲が悪い 自分が作った便利な仕組みよりも使いやすそうな仕組み作られて大きな顔されたら嫌だってことだろう 昔はトラブルも多かった 今となっては環境管理、パッケージ管理がpyenv, virtual-env, venv, pipenvと訳分からん状態 Anacondaで環境構築もパッケージインストールもcondaで管理できて、本家よりもパッケージの依存性厳密で、さらにはpython以外のライブラリも入ってCentOSだもUbuntuでも同じ環境ができてしまう パッケージの数は少ないのでpipに頼る事もあるが、嫌う理由はもはや宗教的な理由だと思ってる バイナリのビルドが難しい原因がなにかあるならAnacondaがいいね。(Windowsとか) そうじゃなければ(macとかで)pipenvで困ってないしAnacondaのことを考えてないパッケージでハマりたくないから pipenvだな。 なるべくバニラに近い環境で使ったほうが、汎用性は上がるだろうしね。rpmとports、どっちを好むかみたいな話にちょっと近いかもね。
Anaconda推しの人がいるが、あれ、偏ってるんだよねぇ
いずれ開発環境、デプロイ先にしろ必ず環境の知識は必要になるんだけどね 最初は分からなくて言われるがままに入れるなら pyenvとかanacondaなんか使うよりも、 Dockerとかのがいい 開発環境なんてどうでもいいから、とにかく科学技術計算で使いたいという人除いて
環境に翻弄される者達よ、そのイライラ悪感情、まことに美味である。
なんかpyenvみたいなツールから入った人って、それ経由でOS のこと理解しようもするんだよね
shebang 自体はキモくない #!/usr/bin/python #!/usr/local/bin/python で充分なのに なんで #!/usr/bin/env python とか書かないかんの?
/usr/bin/env とか /bin/env とか 複数考えられるので env をシンボリックで対応とか書いてあるけど それって結局やってること同じやん
env は /usr/bin/env 決めうちでしょ
Python始めたい初心者にDocker教えることはない まだGoogle Colaboratoryのがマシ
毎回同じ環境用意できるし、むしろ初心者向きでしょ 決まったコマンド打ち込むだけ なんかニコ生の授業でもたしかVagrantつかってたし
誤爆ですかっ!! こんな無関係なスレに誤爆ですかっ!!
>>492 それならanacondaが一番理想的だろ >>468 C:Users\user\PycharmProjects\untitled\venv\Scripts\python.exe pycharmで、プロジェクトを、 venv?というので作った場合、 上のアドレスの場所に、 仮想環境になってるんですか? この環境で、pip使うにはどうすればいいでしょうか? venvの仮想環境にも、pipインストールするの? pythonのインストールされてるここには、 c:\users\user\appdata\local\programs\python\python37lib\site-packages pipをインストールできたみたいだけど、 PyCharmでプログラム動かそうとすると、 ModuleNotFoundError: No module named このようなエラーが出て、 pipが見つけられないみたいなエラーが出ます。 仮想環境なんか使うには1年早いんじゃないですか? PATHやPYTHONPATHの概念とかないでしょ
まあでも勧めたのは468だから、彼が責任を持って答えるだろう
dockerで開発する人意外と少ないのか 最近はvscodeと組み合わせて全部コンテナの中でやっちゃう pythonサポートもM$公式だから安心
>>501 何でもいいです じゃあwin+python+tensorflow(+keras)で。多分ドキュメントが多くて素人でも触りやすい組み合わせがコレ 「python venv pip」で検索! 初心者向け・Pythonの仮想環境venvとPipenvによるパッケージ管理についての解説 https://paiza. hatenablog.com/entry/2018/07/05/初心者向け・Pythonの仮想環境venvとPipenvによるパッケージ これを読むと、pipenv は、Ruby のBundler とか、Node.js のnpm, yarn みたいなものか? 「hatenablog」は、5ch の宣伝禁止ワードなので、全角に変換した。 これを半角で投稿すると、そのまま吸い込まれて、 いきなりアクセス禁止にされることもあるから、要注意! 同様に、twitter の長いアドレスにも、いきなり吸い込まれるものがあるらしい >>506 Dockerは機械学習をやる場合に筋が悪い Nvidia Dockerを使うことになるが、これよりはAnacondaがまし 一般的なWeb系企業の実務でpython使ってるところってどのぐらいあるの?
んな統計取ってる奴がいると思うか? んな判断できるほど何十社もWeb企業渡り歩いてる奴がいると思うか? 少しは、頭を、働かせろよ 足りないのは知ってるけどよ!!!!、!、、!
わいは、業務は、javaやが、開発は、pythonや、、!!!
Python の仕事の募集は、Ruby の1/10 Python が減って、Julia が伸びる。 Juliaは、Rubyっぽく、do〜end が使えるし、Pythonも呼び出せるから
退屈なことはPythonにやらせようって本が数年前に売れてたらしいけど今からでも読む価値ある?
pythonって業務ではどんな用途に使われているんですか?
>>526 マジレスするとマウンティング 最近はPythonを使っているというだけでみんなが勝手に凄いことをやっていると勘違いしてくれる >>526 マジレスするとマウンティング 最近はPythonを使っているというだけでみんなが勝手に凄いことをやっていると勘違いしてくれる 上司からpython使えるようになっといてくれって言われて三年たったが未だpython案件なし
雑食系エンジニア・KENTA の新動画がアップされた! 「AIや機械学習に興味があるのでPythonから勉強」は誤りです。【YAGNIの法則】 VIDEO 初心者は、Ruby on Rails から始めろってさ!w AI・機械学習みたいな、初心者に分不相応なことを目標にしても、仕方がないw 数年経っても出来てないw それよりも、Ruby on Rails で、サーバー側業務を覚えた方がマシw その後、KENTA の履歴みたいに、 Ruby → Go → Elixir と辿っていけばよい 数年後には、Python がJulia に、変わっているかも知れないし
>>520 そんな勘違いするのってプログラミング経験ない人だけでしょ とりあえずJavaとPHPとJSが使えてりゃ何となく生きていけるだろ
>>527 うちは小さなweb屋だけど9割その3つだな rubyやperlの仕事はやったことあるけどpythonはないなあ そりゃーweb屋にpythonのAI依頼が来るわけねーじゃん 看板も掲げてないのに「python来ません」ってバイアスかかりまくりの主観じゃん ちょっとばかし自分が置いてる状況を考えろ それに「依頼が来る」じゃなく「提案しに行く」なら自発的にpythonのAI案件を営業するだろ python案件が無いんじゃなくてやってないだけなのに無い無い言ってるのは流石に脳みそが萎縮・老化してる 「わたしはやりたくないからやってない」くらい言い切る方がまだマシだ
看板やメニューに書いてない商品が買われるワケねーだろ 「メニューに書いてない商品の注文が来ません」って、サイコパスかなんかか? 脳みそが本当にオカシイのか? それとも黙っていても相手に思考が伝わると思ってるコミュ障かなんか? 「わたしはpythonもAIも出来ますが看板やメニューのどこにもそれは書いてありません、それを知るためには、わたしの脳内をあなたがエスパーしてください」 ってのが『pythonはないなあ』っていうセリフの裏側にあるなら、重症だ
>>532 君プログラマーじゃないでしょ? プログラミング経験もないでしょ? pythonは汎用的な言語でAI特化言語じゃないよ メジャーなWEBフレームワークだけでも三つや四つあるし pythonで動いてるWEBサービスもあるんだよ 釣りをするにしても最低限の知識は必要だと思うよ AIプログラミングって最低でも高校数学マスターしてなきゃ厳しいんでしょ それだけで10年くらいかかりそう 俺には絶対無理
AIって情弱企業に自社をアピールするために営業とかコンサルが何となく使ってるワードだぞ 機械学習とかが実際の利益に結びついてるとこなんてかなり少数だしお前ら営業に感謝しろよ
>>540 このスレに書き込みしてるほとんどの奴には絶対無理だから落ち込むなw 出たよAI即数学必要マン お前は高校どころか小学校からやり直した方がよい
AIに数学なんて必要ないからな おれはAIに業務支援プログラムを書かせてるからな
サラリーマンプログラマーに使用言語の選択権なんてあるわけないだろ 無職ひきこもり脳内プログラマーが羨ましいよ あ、業務支援プログラムならどんな言語使おうと自由だから好きにしてねw
>>547 業務支援プログラム書かせるためのAIを書く言語が決められてるのか それサラリーマン云々じゃなくてキミの会社が終わってるぞドンマイ >>550 スイマセン、ネタで書いたつもりだったけどマジに解釈しちゃったんですね さすがプロ業務支援プログラマーさん 私のような一般人の考えなど及びもつきませんなあ >>553 一部の精神障害者には造語症って特徴があってな……自分が独自で作った単語を一般的なものと思い込んでしまうらしい >>552 みたいな人には優しく接しような >>552 レベルが低すぎる 無能集団の会社ではどうか知らないけど 業務補助スクリプト書けるなんてのはな、office触れるのと大差ないレベルで当たり前なんだよ そうか551の言うように糞言語触らされてpythonコンプ抱いてるなら同情してやるが >>540 高校数学だけでは無理。高校で線形代数教えなくなったから。 >>548 若宮正子さんって認知症じゃないでしょう? 土日の勉強やめて外でて遊ぶようにしたんだがすげえ充実するな ただ相変わらず孤独で上手い遊び方がわからんが 人生だいぶ無駄にしたなー 真面目とか生きる意味ねえわ
ここでそんなこと言うとめちゃくちゃリアルだからやめて
すいません 誤爆しただけなんです Pythonに何か思うところがあったわけじゃありません
pythonやらAIやらに妙な思い入れのある奴が暴れてるもんなあ
>>560 その通り 真面目なのと有能なのは全く異なる事 無能だと言語の選択権もなくなるみたいだから気を付けろよ 普通に「業務支援プログラム」(?)としてPython使いまくってるよ。 C#で簡単な業務アプリを作ったり、Unityでゲームを作ったり、 C++で各種外部機器を時間で制御する制御システムを作るようななんでも屋なんだけど、 例えば、 ・大量の写真データをEXIFで整理する(Jupyterで試行錯誤しながらすると便利) ・各種メディアデータの簡単な処理(あるフォントで使える文字一覧を作るとか、連番画像ファイルの一括リネームとか) ・ログ解析(業務アプリ・ゲーム・制御システムどれでも使う、これもJupyterで試行錯誤が便利) ・REST APIの動作確認(今どきHTTP経由でAPI叩くとかも当たり前なのでどれでも使う、これもJupyterが便利) ・ゲームのシーンでオブジェクトを均等配置するのに座標を計算(これもJupyter) ・3DCGソフトからUnityに都合よくデータを受け渡しする(大抵の3DCGソフトはPythonに対応してる) ・Djangoで簡単な管理画面の作成 どれも言語指定で大規模にPythonを使うって案件じゃないけど、ちょっと込み入った計算をしたかったり、 アルゴリズムやAPIの動作確認をしたかったりというときに使ってる。 コンパイル不要で試行錯誤がしやすくて、様々なデータフォーマットやデバイスに対応するライブラリがかなり色々揃ってるし、 WebアプリだったりJupyter上で実行だったりpythonコマンドのインタプリタでちょっと計算するのだったり、 実行方法が幅広くてとりあえずちょっとした処理はPythonに任せとけば生産性が高いのがいいんだよ。 Pythonしか書けない人が仕事をとれるかはわからないけど、他の言語のエンジニアでPythonが書けたら、まさに 「面倒なことはPythonに任せる」で同じ仕事も速くできるようになるケースがそこそこあると思う。 ただ、GUIのアプリを作るのには向いてないと思うけどね。
>>565 その類のスクリプトすら言語の選択権がない会社が存在するらしい >>565 >>Pythonしか書けない人が仕事をとれるかはわからないけど だから業務支援スクリプトしか任せてもらえないらしい >>566 クソみたいな人海戦術SIerだと開発マシンに独自ツールインストール禁止とかいうのは普通にありそうだから、 そういう会社があっても不思議じゃないかな。 メモリ4GB、HDDしかついてないマシンで開発、ソースコードの変更時は元のソースをコメントアウトで残すとかそういうルールがあったり、 Webの閲覧フィルタが厳しすぎてろくにサンプルコードも検索出来なかったりと、非常に効率の悪い開発環境を強いているようなところ。 ただWeb系とかなんでも屋でそんなところはないだろうけど。SIerのPGはどうもSIerのPGの仕事のやり方が当たり前で、それ以外はお遊びだと思ってる節があるような気がする。 プログラミングが好きで仕事してるわけじゃなくて、嫌々やってるだけだから視野も狭くて、いかに自分がプログラマーとしての人権を剥奪されているのかに気づいていないような感じ。 だからSIerの関係者に「プログラマです」って自己紹介して、「PGかー早くSEになるか独立したほうがいいよ」なんて言われると結構イラッとするね。スレチになってきた。 >>567 任されないと動けないという発想が終わっている スクリプトなんて内容によればofficeと大差ないのだから 少し考えれば質問者がプログラマでない可能性すらあることを考慮できるはず >>569 質問者って誰だよ? なにわけわからんこと言ってんだw >>568 そんな世界があるのか、驚愕だ それは言語の選択権ないと噛み付きたくなるのも無理ない同情する なぜpythonスレにいるのかは解せないが >>532 この意見には同意。PythonでAIが出来るんだったら(AIじゃなくてもいいんだけど)、 Pythonの使用が難しい条件があるわけでもなく、Pythonを使うことで 仕事の質なりスピードがアップするなら、勝手に使えばいいだけの話だと思うんだよな。 自分が採用言語を決められないようなビッグプロジェクトなら、そういうときはプロジェクトに合わせるまで。 職業プログラマーなら、色んな言語を使うことに抵抗を持ってたら正直、仕事にならないと思う。 プログラマーじゃなくてRailsを触る必要がないなら、Pythonを覚えるかRubyを覚えるか、みたいな選択に悩むことはあるのかもね。 Jupyterがあって便利だし、世界的にはPython一強だから断然Pythonをおすすめするけど。 大体この手の軽量言語はどれか一つがまともにわかってたら他の言語もすぐ書けるようになるよ。 >>570 スレ遡れ、無能よ 素性の知れない質問者に対して言語の選択権ないとか的外れな噛み付きしちゃった馬鹿がいるんだよ >>571 大企業の業務系の大きなシステムを作るにあたって、開発会社がISOなんちゃらを取得している必要がある、とか、 内容が絶対に漏れないように開発室は2重のカードキーによる施錠が必要がある、とか、そういうルールで 縛って安全性を確保している世界があるっぽいんだよ。 そんな縛りがある中、さらにシステムの規模が大きいから、少数精鋭で作るのは難しくて、 能力がいまいちな人たちを大量にあてがってひたすら時間をかけるって方法で作ってるようで、 そういう場所だとひたすらルールで縛っていかないと思ったとおりのものはできない、というのは なんとなくわかる。そしてそんな環境ではプログラミングが好きな人は残らないから、 ルールも謎なものになっちゃいがち。カーゴ・カルト・プログラミングとか言うらしいよ。 >>575 知らんのなら黙ってろや、無能よ PythonはAIと業務支援のための言語だからな >>575 そうか ちなみにキミは言語の選択権ある側の人間かい? そうか pythonスレでは言語の選択権ないのが無能の証だな
>>582 そうか ちなみにキミは言語の選択権ある側の人間かい? 好きにしていいなら回答を要求するが 聞かれると都合でも悪いのだろうか
>>586 カーゴカルト状態であっても、今やっているこのカーゴカルトは本来どういう意味があるのだろう、 よりスマートな書き方はできないのか、などと余裕のある限り改善していこうという意志があるのなら その人は色んな場所でカーゴカルト状態を脱却しつづけるだろう。 程度の差こそあれ何だってカーゴカルトなんだからカーゴカルトを良しとする、というのはエンジニアとしては健全じゃないと思うよ。 pythonしか使えない奴に言語の選択権なんてあるわけないよなw
>>591 俺は業務でjsとか書いてて業務支援スクリプトで自分でpythonを選択して使っている キミは?ねぇキミは?普段言語は何使ってる?言語の選択権はあるのかい? さてそろそろ業務開始時間だな 今日の業務の使用言語は嫌いなjavaだ 業務支援スクリプトでpythonが使えるのがせめてもの慰めだ これ業務プログラマーのつらいとこね
>>593 なーんだ、東京じゃないカッペだったのか もしくはこの状況で仕事してるブラック企業勤務の低学歴無能か 意味のない短文レスの応酬でつまんない流れだな。 そんな低レベルなやりとりしてて楽しいか? 他にpythonを具体的にどう使ってるかもっとサンプルが知りたいわ。
そろそろ昼休憩とするか 昼食は業務スーパーで購入した87円パスタを200g茹でよう ソースは同じく業務スーパーで購入したハチ食品のレトルトカルボナーラだ 社員食堂のキッチンの一角が俺の昼の憩いの場だ ホシザキの業務用冷蔵庫のモーター音が心地よい おっと、もう湯が湧いたようだ さすが業務用コンロは火力が違う 業務プログラマーには周知の事実だが頭脳労働に炭水化物は欠かせない 業務支援スクリプトの作成にはエネルギーを大量に消費するからな
言語の選択権ない奴はレスを見れば分かる、必死さが伝わってくる
すまない 言い忘れていたよ 君に言語の選択権はあるのかい?
知らねえけどアホに生まれると大変なのはお前を見ててよく分かったよ
>>601 キミよりよっぽど年収いい仕事して言語の選択権まで持っててほんとにすまんな 今日も選択権ない言語での業務ご苦労ご苦労 >>515 簿記や監査 今時のISOやコンプライアンスに必須言語 やれやれ本日の業務も終了だ 数十行ほどの業務支援スクリプトを3本ばかし書き上げたかな 同僚たちも俺の生産性の高さに目を丸くしていたな 上司が今進めている業務の俺の担当パートを新人君に任せると言ってきた 俺には業務支援スクリプトの作成に専念してもらいたいらしい 勿論二つ返事でOK、新人にはどんどんチャンスを与えるべきだ いやjavaが苦手なわけじゃないよ、生産性の悪いjavaなんて俺には似つかわしくない 業務支援スクリプト作成って作業はプロジェクトのフォロー、縁の下の力持ち的役割ってとこかな? 決して表立って評価されることはない地味なタスク、これ業務プログラマーの辛いとこね 俺ってお人よしだよなあ
ここPythonの質問スレだぞ? TPOも考えられないキチガイ以外の何者でもない
うちの会社は経費削減のために事務員のエクセルファイルの編集もPythonでやらされてる 営業もパワポ禁止でIPythonだわ
何がマジレスじゃ 周りは普通につまんねぇンだわ 短文レス投げ合うだけならギリ無視するが長文は流石に目障り
>>612 スルーするなりNG登録すればいいじゃん バカじゃね? >>611 ワンライナーとか使い捨てスクリプトでcsvの加工してあげたら事務の女の子に驚かれるw 俺からしたらエクセルを自由自在に操れる女子社員のほうがスゲーなんだけど >>605 おもしろかったよ 業務支援プログラマー日記として毎日連載してほしいw >>611 まさにpythonで業務支援スクリプト書いてんだなw 事務員や営業職もpython必須なのかい? >>468 が答えてくれないので、 venv使うの止めました、 プロジェクトを、Cドライブのすぐ下に作って、 使えるようになった。 >>617 ツッコミどころの多い発言だなぁw venvのアドバイスしたヤツが報われん 毎時0分、5分、10分、15分、20分、25分、30分、35分、40分、45分、50分、55分にcrontabでスクリプトを動かしています 一度スクリプトを起動させてスクリプトの中で時間を調べて上の時間になるまで待機、時間になると処理、終わると次の時間までの待機時間を調べて待機〜ってやるのと、crontabでやるのとどっちが無駄のないやり方ですか?
crontabが要件を満たすならcrontabに決まってんじゃん
「python venv pyenv」で検索! pyenv は、anyenv 系。 node.js のnodenv, ruby のrbenv など 一方、venv は、Pythonの標準 pyenvが必要かどうかフローチャート https://qiita.com/shibukawa/items/0daab479a2fd2cb8a0e7 PythonにRailsはない。Pythonはnode.jsでもない。 あった方が仕事が捗る人はいますが、必ずしもそうではないですし、慣れない人ほど落とし穴にハマる点が、 「とりあえずpyenv」「pyenvを必要のない人に進める記事」は滅ぶべき! >>621 ちょっと記事が古いから参考にするのはどうかな Anacondaは現在そこまで酷く無いしむしろRedhat系サーバでは各種ライブラリが古いので独自に入れるのは仕方がない toxよりもCI系ツールでDocker連携でのコンパイルが主流に変わってるし Rubyくんはまず自分の知識を最新版にアップデートした方が良いよ >>503 の状態から >>617 > プロジェクトを、Cドライブのすぐ下に作って、 解決するようなことってなんだろう >>623 出来の良くないプログラムの場合、パスが長すぎると駄目なことがある おおっと Py2系とか昔のC++の悪口はそこまでだ
.pyのスクリプトを実行すると起動する黒いウィンドウを処理が終わったら閉じたいのですが 何の関数を使えばいいんでしょうか? ググったら出てくるexitとquitはだめでした
>>626 Windowsのコマンドプロンプトのことかな? 拡張子を.pyから.pywにしたらコンソールウィンドウでなくなるよ どうやって実行(起動)するかによって違うから、なんとも言えないな
.pyファイルのアイコンをダブルクリックして実行したんなら 実行完了後にコマンドプロンプトウィンドウも閉じるはずだけど
.pywファイルをpythonw.exeで実行すると、 ほんとになんにも表示されないから、 ctypes.windll.user32でWindows APIを呼び出して使ったりする。 まぁ、どのくらいの人が使ってるのかはわからないけど、 自分の場合、これでWSHの代替ができたな。
pythonのウインドウを出さないようにしたときに出るwebdriverのウインドウかもしれない
みなさまありがとうございます .pyファイルをダブルクリックで実行していて スクリプトはwebdriverを使ったスクレイピングを行うものです ブラウザはclose()で閉じるんですけど…
なるほどctypesでhandleとって非表示にしちゃえばいいのか!
>>632 それだとwebdriverのプロセス残ってないか? driver.quit()的なやつで消えると思うんだけど多分やってるんだよな… >>634 タスクマネージャーで確認したら確かに残ってました ググったら他に終了メソッドがあるみたいなのでそっちを使ってみます ありがとうございました 自作Djangoアプリ(ローカルで自分用のDBをブラウザで閲覧する)を使うため、タブレット購入を検討してます。 6万程度以下の価格帯でWindows/Android/iOSどれかで、Djangoが特にキビキビ動く/動かないとかってありますか? 自分、iOSもAndroidもド素人で全く検討もつきません。いまLinuxデスクトップでは快適に動いてます。 候補はSurface Go、Huawei MediaPad M5 Pro、iPad Air 10.5です。
>>637 そのDBのサイズと 快適に動いてるとやらの環境を詳しく書かないことにはどうにもはや。 あと画面サイズで値段が大きく異なるので 希望するインチ数も書くように。 djangoとかいうゴミ使うなよ、bottleで十分
知るか アプリによるだろそんなの …DB閲覧がdjango-adminなら1万のAndroidタブだって重くはない
そもそもそのレベルで各種タブレットOS内でdjangoを立ち上げることができるのか甚だ怪しい
正直Sequel Pro使えばよくね? まぁ勉強のためにDjango使ってるんだろうけど
さっそく有難うございました。 >>638 Pentium G5400/RAM 4GBなのでタブレット(>10inch希望)よりは強力でしょうか。 DB(sqlite)は21Tables, 最大レコード数3万未満、ファイルサイズ11MBです。 DBの規模毎に最適なOSが変わるってことでしょうか? >>639 ,642 ありがとうございます、初めて知りました。ちょっと見てみます >>640 同じpythonでもOS毎に得意/不得意な処理があるってことでしょうか? >>641 そう、そのとおり。なんで、あえてAndroid/iOSに突撃する理由が(もし)あれば 知りたいと思いまして。 >>643 いやいや、それよりも何よりも、Android タブレットでPython がまともに動くのか? そりゃ制限付きで動くのは当たり前だが、いろいろやりたいのならそれはなさそうに思うけど? iOS 然り。 なんでタブレットを使いたいのかな? Linux デスクトップがあるなら、そこにWeb server や、DB を入れてリモートでタブレットからアクセスじゃあかんの? それなら多少の制限があってもAndroid やiOS からでも問題なく使えるでしょ。 外から使うときはVPN かな。
またまた有難うございました。 >>644 この機種初めて知りました。3万切ってて中々よいですね。 >>645-647 flaskも初めて知りました。こちらも見てみます。 ご指摘の通り、いまWebサーバ上で動いてるので、リモートからブラウザアクセスできます(できてます)。 でもさらに1)出先でいつでもどこでも、2)安定して見れるといいなーと思い、(トンネル内新幹線とか、飛行機の中とか) タブレット内でローカルに閉じたいわけです。でもまあ最近はそこかしこでwifi飛んでてだいぶ便利になりましたねえ >>648 ローカルで閉じるならわざわざブラウザ経由にする必要なくね? 自分用DBの専用アプリだけあればよくね? 無理にDjango動かすよりも、よさげなアプリを探す方が簡単だと思うよ。タブレットにDBを載せるって発想が無かったから、どんなのがあるか見当もつかないけど GUIでDB見るアプリなんてたくさんあるのに自分で作る意味がよくわからん
漏れは、Ruby, Selenium WebDriver を使って、 自分のPC 内の画像フォルダ内の画像も、ブラウザを使って見てる Ruby, ERB などで、自作プログラムで、HTML を作って、ブラウザを起動する 漏れは、CPU-i3 のノートPC だけど、 タブレットのOS で、Ruby, Python, Node.js などが動くのかね? 安物のOSのAPI は、PCのOSのAPIよりも、限定されているのじゃないか? 同じAPIがあるのかな? 果たして、Surface のWindows と、PCのWindowsは、同じなんだろうか?
>>648 多分、DB がメインでそのGUI としてWeb を使おうと考えたのかな? フロントエンドとしては、Web を使わずにExcel の表を使う方法もあるよ。 自分だけ用のプログラムなら、OS は何でも良いけど使いたいライブラリが使えないとか色々出てきたりするからできるだけ汎用のLinux なり、Windows が良いと思う。 自分用でちょこちょこ見るくらいなら、先ずスマホでやってみるのが良いのでは。 旅行先にタブレットも荷物になるし。 自分はiOS のPythonista を使ってる。 これではDjango は使えないが、flask なら使える。 2018-10-22 Pythonistaのflaskの遊び方! https://www.kiwoblog.com/entry/2018/10/22/050509 Androidタブレット(HUAWEI)にBluetoothマウス・キーボード付けてRDPでDB見てるわ
柔軟性はpytorchの方が上 普通の分類か回帰ならkerasの方が記述量が少ない
Windows, Mac, Linux の3大OS 以外では、 SQLite, MySQL(MariaDB), PostgreSQL の、3大DB の実行ファイルがあるかどうか、わからない Surface のWindows も、本物のWindows かどうか、わからない。 縮小版・廉価版じゃないの? スマホ・タブレットなどに、サーバーを立てたりできるのかな?
本物のwindowsって何やw ニセモノもあるのかw
>>661 Ruby君の住む世界にはきっと真のwindowsがあるんだろう。普通の人には理解できないなw >>660 仕様から想像もできず、Surface使ったことないなら黙ってろよ CPUがx86_64じゃないSurfaceとかいつの時代の話だよ。 (  ̄ノ∇ ̄) ̄ー ̄)ヒソヒソ 煤i ゚□゚)ェッ?!
>>660 iOS のPythonista ではSqlitが使える。django は使えないがflask なら使える、