くだすれPython(超初心者用) その49【まず1嫁】

レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん
垢版 |
2020/07/18(土) 16:33:27.37ID:/iWSRGfH
当スレに★Python以外のプログラミング言語での回答類を書くべからず★
「Ruby では」「Rubyでは」「某言語では」をNGワード登録推奨

このスレッドは「お勉強」スレのほうには書き込めない超低レベル、
もしくは質問者自身何が何だか分からない質問を、勇気を持って書き込むスレッドです。
へび使いが優しくコメントを返しますので、お礼は Python の布教と初心者の救済をお願いします。

★エラーを解決したい場合は、
  表示されてるエラー全文(勝手に省略やスクショうp等の横着クソ行為禁止)と、
  実行環境(Pythonのバージョン・OS+IDEの種類とバージョン)をシッカリ書くこと。

【【【複数の連続半角スペースはなかったことになる・タブがうまく入らない5chの仕様】】】に注意!
Pythonの★ソースコードをそのまま5ちゃんにコピペすると、インデントが崩れてチヌ★ので
  ↓等の、いわゆるコードうp用サイトに貼ってこいください。
ttps://techiedelight.com/compiler/  Run Code機能あり。最近流行中?
ttp://ideone.com/      デフォ設定はC用のため言語選択ボタン押下がピコ手間かも。
ttp://codepad.org/      ほぼ直感的に使える。Run codeボタンあり。
ttp://pastebin.com/     まずまずシンプル。
ttp://dpaste.com/      とてもシンプル。消えるまでの日数は十分長ーく指定のこと。

◇Python公式サイト◇ http://www.python.org/
◇まとめwiki◇ ttp://python.rdy.jp/wiki.cgi

〇前スレ〇
くだすれPython(超初心者用) その48【まず1嫁】
https://mevius.5ch.net/test/read.cgi/tech/1589201940/

次スレは >>985 あたりが挑戦してくだしあ。(980過ぎても自動落ちはしなくなって久しい)
### END OF TEMPLATE ###
0003デフォルトの名無しさん
垢版 |
2020/07/18(土) 19:25:18.49ID:tp8HW1uL
前スレの、>970

ドラクエの開発者によると、0.2% の頻度で、データエラーになるので、
絶対に、回線から来るデータを信頼しない

UDP は、エラーを直すことを保証していないし、

TCP でも、ルーターによっては、データエラーの場合でも、
新たにパリティーを再計算して、そのまま正常データのように扱うものがある

元々の規格が、こういうものらしい。
データエラー時でも、別に再送しなくてもよいらしい
0004デフォルトの名無しさん
垢版 |
2020/07/18(土) 19:56:35.43ID:N4WthBbf
最新のHTTP3はUDPベースになったけどなw
0005デフォルトの名無しさん
垢版 |
2020/07/18(土) 20:48:52.37ID:al/BSZiT
質問です!
大学の授業でPythonを使ってます。
課題提出は.pyファイルを提出しろと言われてて、そこまでは出来ます。ですが、その提出するファイルを自分で開こうとすると何故か開けないんです。
要するに、左にファイル名が書いてあるので任意のファイルをダウンロード→それを提出は出来るんですけど、ファイルをダウンロード→それを開いて中身を見るができません。
.svgファイルは見ることができるのですが.pyファイルは見れないです。
自分は開けないので先生の方へ送ったやつも開くことができるのか不安です、、、
0009デフォルトの名無しさん
垢版 |
2020/07/18(土) 21:24:42.56ID:XYj9ETFb
>>7
「単一スレをたてるほどでもないけどききたいくだらないことを質問するスレ」の略らしいぞ

>>8
それしちゃうと今度ダブルクリックで実行されなくなりましたって言ってくる罠
0010デフォルトの名無しさん
垢版 |
2020/07/18(土) 23:09:16.69ID:tp8HW1uL
ファイルを右クリックメニューから、

「プログラムから開く」で、好きなエディターで開けば?
0011デフォルトの名無しさん
垢版 |
2020/07/18(土) 23:11:14.48ID:J4Um2FGf
初回の授業で環境構築やったんだけど欠席しちゃったとか?
でももう7月だしな...(´・ω・`)
0013デフォルトの名無しさん
垢版 |
2020/07/19(日) 03:42:47.13ID:LbUeYdJI
jupyter notebookを起動してNEWを押したときに表示されるPython 3だとかWolfram Language 12だとかといった表示を消すにはどうすればいいでしょうか?
実はWolfram Language 12をアップデートしてWolfram Language 12.1にしたのでWolfram Language 12のほうは消したいです。
0015デフォルトの名無しさん
垢版 |
2020/07/19(日) 11:52:16.33ID:DFSJX5gq
先生のことは心配しなくて良いω
0016デフォルトの名無しさん
垢版 |
2020/07/19(日) 11:53:21.35ID:DFSJX5gq
>>12
内容スッカスカでリモート授業で自宅待機強制して
今度は夏休み短縮とかスケジュール管理めちゃくちゃだしな
0018デフォルトの名無しさん
垢版 |
2020/07/19(日) 20:24:18.92ID:sqVBSH90
https://ideone.com/m0g0B4
度々失礼します。
x座標の現在位置を反転させるにはどうしたらいいのでしょうか。そもそも移動方法がわかりません。
メインループ内にx += 1としたら、x -= 1と干渉して動かなくなりますが
0019デフォルトの名無しさん
垢版 |
2020/07/19(日) 20:26:08.40ID:sqVBSH90
失礼
100と-100の間を行ったり来たりさせたいです
すみませんガイジで
0021蟻人間 ◆T6xkBnTXz7B0
垢版 |
2020/07/19(日) 20:28:09.28ID:T8vbWyFG
vxを速度とする。

var x = 0, vx = 1
func _process(delta):
if (x == 100):
vx = -1
if (x == -100):
vx = +1
x += vx
print(x)
0023デフォルトの名無しさん
垢版 |
2020/07/19(日) 20:44:37.71ID:NMcqavC7
オライリーの本読んでたらいきなり=\って出てきたんだけどこれなんなんですか?
0025デフォルトの名無しさん
垢版 |
2020/07/19(日) 20:47:10.37ID:hUCl6LZG
>>18-19
前スレの−10と10の間を行ったり来たりさせたいクンと同じ学校なのんけ?w

21のクソコテのレスはインデント崩壊してるが
言いたいことは1行目がだいたい全部だろう。

なお
ステップ刻まずただ2値の反復横跳びをさせたいだけなら>>20
0026デフォルトの名無しさん
垢版 |
2020/07/19(日) 20:55:46.76ID:EojUkFKD
> お前は毎朝起きるたびに俺に負けたことを思い出すよ^^

あー、ホンッとに思い出すなあ(笑)
キチガイの嘘つきの低レベルFランの、
朝鮮ゴキブリBot君は、
チョン独特の「なにもできないけど俺のほうがジャップより偉い!」的な
ことはよーくわかったよ。
ホントなにもできない朝鮮ゴキブリBot君!

クソチョンw

Pythonさえろくにできないバカチョンのくせに
できるとほざくクソチョンw

日本で強姦と窃盗を繰り返す
犯罪者在日のクソチョンw
0028デフォルトの名無しさん
垢版 |
2020/07/19(日) 22:02:16.82ID:aWdyr5NP
Godot のスレは、ゲーム製作技術板にあるので、そちらへ書き込んでください!
0029デフォルトの名無しさん
垢版 |
2020/07/20(月) 03:22:58.47ID:bulWIgTK
深夜にお世話になります

改行に挟まれた文字列を改行ごと消し去りたいのですがどのようにすればできますか?
まず改行の中だけ選択しようとしているのですが、

resultstr = re.match(r'\r\n\r\n.+?\r\n\r\n', test.text)
で試してみるとNoneだとエラーになってしまいます。
str()もNoneだと使えませんでした。
0032デフォルトの名無しさん
垢版 |
2020/07/20(月) 09:40:13.33ID:BXhQoXVm
>>29
例文と、希望する結果ぐらいのせろ。
文字列が2行以上の場合は、望み通りの結果とは限らない。
import re
str="""abcd
efg
"""
str2 = re.sub(r"[¥r¥n]+.*?[¥r¥n]+",r"",str)
print (str2)。
0033デフォルトの名無しさん
垢版 |
2020/07/20(月) 13:05:31.95ID:9qBdYECM
scores= [90, 86, 78, 64, 57, 62, 87, 82, 90, 95, 86]
best=
if :
best=
best=の後ろと、ifの後ろに適切なものを付け加えて、このプログラムでscoresから最高値を取り出したいのですが、どのようにすればいいですか?
最高値を直接出す関数は使用禁止されています。
0035デフォルトの名無しさん
垢版 |
2020/07/20(月) 13:41:59.45ID:sRHdZUo2
webアプリ開発ってdjangoよりphpのほうが一般的なんでしょうか
また、ネイティブとどっちをやるべきですか?
0036デフォルトの名無しさん
垢版 |
2020/07/20(月) 13:42:29.54ID:oCdL4TUp
宿題は宿題スレ
0037デフォルトの名無しさん
垢版 |
2020/07/20(月) 14:23:09.07ID:9qBdYECM
scores= [90, 86, 78, 64, 57, 62, 87, 82, 90, 95, 86]
best=
if :
best=
best=の後ろと、ifの後ろに適切なものを付け加えて、このプログラムでscoresから最高値を取り出したいのですが、どのようにすればいいですか?
最高値を直接出す関数は使用禁止されています。
0040デフォルトの名無しさん
垢版 |
2020/07/20(月) 14:39:15.73ID:pvek2UOu
print (sorted(scores)[-1])
0042デフォルトの名無しさん
垢版 |
2020/07/20(月) 14:47:51.95ID:cF0x4wJI
best = 90
0043デフォルトの名無しさん
垢版 |
2020/07/20(月) 14:59:45.12ID:+Ms40/W/
こういう無理矢理用意した正答を答えさせる教育方法が許されるのは中学までだよな

どういう力を育てればいいのかまるで理解してないように見える
0045デフォルトの名無しさん
垢版 |
2020/07/20(月) 15:06:26.10ID:ifRm7v7K
>>43
同じこと思ったが、きっと授業で懇切丁寧に教えている背景があるんだろう
それを全く無視して設問だけ流すから、なんだかなになる
0046デフォルトの名無しさん
垢版 |
2020/07/20(月) 15:40:25.23ID:kWlLtNYL
キャニー法とディープラーニングを用いたエッジ検出てどっちが精度いい?
0048デフォルトの名無しさん
垢版 |
2020/07/20(月) 16:38:28.78
メイン.pyでimport モジュール1してて
気づかずにメインで読み込むサブ.pyの中でもimport モジュール1
としていた場合、気にする必要はないですか?(モジュール1はメインとサブとは別)
0050デフォルトの名無しさん
垢版 |
2020/07/20(月) 17:03:25.48ID:W3nni2eA
import random
temp = []
for i in range(10):
__num = random.randint(1,10)
__if num <=5:
____num = str(num)
____temp.append(num)
__else:
____num = float(num)
____temp.append(num)

みたいなループ中の条件分岐でそれぞれの処理+共通処理するやつ
finallyにあたるのがあればシンプルに書けると思うんだけど,みなさんはどうしてるのです?
諦めて何回も書く?

for i in range(10):
__num = random.randint(1,10)
__if num <=5:
____num = str(num)
__else:
____num = float(num)
__finally:
____temp.append(num)
0051デフォルトの名無しさん
垢版 |
2020/07/20(月) 17:04:32.00
クラスのアトリビュートに
self.option={"hoge":"fuga"}
みたいなdictを与えて参照するとき
self.option.hogeってやると、hogeないよ的なエラーがでてハマりました
self.option["hoge"]みたいにテキスト形式じゃないとダメなんですね・・?
なぜなんでしょう、みやすさでしょうか?
(そもそもアトリビュートにdictを代入してもいいんですよね)
0053蟻人間 ◆T6xkBnTXz7B0
垢版 |
2020/07/20(月) 17:06:03.27ID:6GFyBW1T
>>50

for i in range(10):
__num = random.randint(1,10)
__if num <=5:
____num = str(num)
__else:
____num = float(num)
__temp.append(num)
0055デフォルトの名無しさん
垢版 |
2020/07/20(月) 17:08:16.28ID:oCdL4TUp
(モジュール1はメインとサブとは別)っていう表現が気になるが
main と sub で sys.path を変えて
同じ名前の「モジュール1」でも違うもの二つ別々にってことかと思った
それでも気にしなくて良いが
0057デフォルトの名無しさん
垢版 |
2020/07/20(月) 17:09:17.30ID:oCdL4TUp
>>50
>>53
違う型を混ぜられるけど混ぜると後で混乱の元になるからやらない
0058デフォルトの名無しさん
垢版 |
2020/07/20(月) 17:11:15.72ID:oCdL4TUp
>>51
setattr(self.option, "hoge", "fuga")
0059デフォルトの名無しさん
垢版 |
2020/07/20(月) 20:40:30.43ID:QzNCGs79
Pythonのoption["hoge"]は、option.__getitem__("hoge")のショートハンド。
データとアトリビュートを明確に区別している点で理に適っている。
0060デフォルトの名無しさん
垢版 |
2020/07/20(月) 20:53:54.38ID:Li9RfBTb
オペレータオーバーロードが出来る言語は異質
使いこなせばごく限られた選民になれる
0061デフォルトの名無しさん
垢版 |
2020/07/20(月) 21:20:37.48ID:yJrVD9BK
> お前は毎朝起きるたびに俺に負けたことを思い出すよ^^

あー、ホンッとに思い出すなあ(笑)
キチガイの嘘つきの低レベルFランの、
朝鮮ゴキブリBot君は、
チョン独特の「なにもできないけど俺のほうがジャップより偉い!」的な
ことはよーくわかったよ。
ホントなにもできない朝鮮ゴキブリBot君!

クソチョンw

Pythonさえろくにできないバカチョンのくせに
できるとほざくクソチョンw

日本で強姦と窃盗を繰り返す
犯罪者在日のクソチョンw
0062デフォルトの名無しさん
垢版 |
2020/07/21(火) 01:58:23.67ID:PE/C56HG
>>37
Ruby では、

ary = [90, 92, 90, 95, 86]

max = ary.first # 初期値。ary[ 0 ]

# 1つずつ処理する
ary.each do |num|
max = num if max < num
end

p max #=> 95
0063デフォルトの名無しさん
垢版 |
2020/07/21(火) 04:03:23.61ID:iRBpTvJa
pythonのライブラリのインポート負荷ってどれくらいなんですか?
いつもライブラリ全部一括インポートするか一部機能だけインポートするか迷うんですが
OpenCVやPytorchなどです
0065デフォルトの名無しさん
垢版 |
2020/07/21(火) 08:14:25.31ID:1u1BIdYL
CVやPyTorch使うのに、そんなミクロなこと気にしてどうするんだ?
せいぜい使わないモジュールをインポートしないとかくらいだ。
0067デフォルトの名無しさん
垢版 |
2020/07/21(火) 14:43:01.67ID:+OCbOnRh
SSDとかchacheの効果の方が大きい
0068デフォルトの名無しさん
垢版 |
2020/07/21(火) 15:23:52.63
openCVで動画のリサイズ後の動画サイズの予測をしようとしたのですが
『動画の圧縮形式』『フレームの縦横の幅』『fps』『秒数』がわかっているので
#count = 総フレーム数
width(px) * height(px) * count の値と、
実際に生成された動画のサイズの関係性をいくつか比べてみたのですが
誤差10倍以上あって参考にならないレベルでした

何がやりたいかと言うと、
動画をリサイズしたいといより
大体◯◯bytesになるように動画をリサイズしたい
のです
0069デフォルトの名無しさん
垢版 |
2020/07/21(火) 15:46:46.54ID:+OCbOnRh
動画の圧縮方法を勉強しろ
0070デフォルトの名無しさん
垢版 |
2020/07/21(火) 16:02:51.86
動画のサイズを指定してリサイズしてくれるモジュール的なのがあるのかなと思ったのですが
まだ無いみたいですね
需要はありそうなので自分が作るモチベにもなりそうです
やってみます
0071デフォルトの名無しさん
垢版 |
2020/07/21(火) 16:38:40.51ID:44KT7b17
深層学習によるエッジ検出についての質問です。教授いわく深層学習は数百枚の画像を読み込んでパターン学習を行うとおっしゃっていました。深層学習によるエッジ検出にはたくさんのデータが必要なのですか?一つのデータにはこの手法は使えないのでしょうか。
0072デフォルトの名無しさん
垢版 |
2020/07/21(火) 17:20:14.12ID:XnbiIFp1
https://ideone.com/qvUKjh
delta timeでタイマーを作ったのですが、1秒経過するごとにprintするようなプログラムは作れるでしょうか?
0074デフォルトの名無しさん
垢版 |
2020/07/21(火) 17:36:04.00ID:O3jPbwEs
燃えるゴミのビニールが少なくなっています。

燃焼にカロリーが足りなくなるため、ガス炉転換済みの自治体向けに、空気層を含むビニールシートを開発しました。

(従来ビニール袋に使われていた)石油精製時に余る素材を利用しているので、たいへんエコな製品となっております。

焼却炉の燃焼状態でお困りの自治体様に置かれましては、ぜひご検討くださいませ。
0075デフォルトの名無しさん
垢版 |
2020/07/21(火) 17:51:11.77
>>73
>70についてでしょうか 違っていたらすみません
やりたいのはffmpegのオプションでいうところの強いて言えば
-b ◯k
の部分なんですよね
おそらくそのresize(w,h)だとw,hはわかっていても
出力後の動画の『ファイルサイズ』はわからないような気がしますが違うのでしょうか
007668
垢版 |
2020/07/21(火) 18:03:14.74
openCVあらためてぐぐってみたら
CAP_PROP_BITRATE
という設定がありました
とりあえずこれでやってみます
0077デフォルトの名無しさん
垢版 |
2020/07/21(火) 18:34:02.06ID:XnbiIFp1
>>21
遅かったけどありがとうシ
0078デフォルトの名無しさん
垢版 |
2020/07/21(火) 18:34:22.58ID:fbSrvHbB
>>72
作れるのでがんばれ
ソースは見に行ってないが、初心者あるあるなてんで突っかかってるのだろうとエスパー

>>71
1枚しかデータがなくても、解像度がよくて特徴がちゃんとしてれば、
おまいの調教次第では、あるいは。。。
0079デフォルトの名無しさん
垢版 |
2020/07/21(火) 20:08:23.40ID:XnbiIFp1
elifとifの入れ子って同じことなでしょうか?

>>78
わかんないんで諦めます
0080デフォルトの名無しさん
垢版 |
2020/07/21(火) 20:10:19.86ID:XnbiIFp1
違いますね すみません
008268
垢版 |
2020/07/21(火) 21:04:29.15
openCVでbitrateの取得に成功したのでwidthとheightを変えて
リサイズして出力した動画ファイルのビットレートを取得してみました
wとhそれぞれの倍数をnとすると、(n^2)倍くらいのファイルサイズで出力されました(入出力動画ファイルは共にmp4)

cap.set(cv2.CAP_PROP_BITRATE, bitrate)して良い感じに調整してくれるのかと期待したことは結局できませんでしたが
とりあえず誤差に問題なかったのでこの辺りを落とし所にしておきます
0083デフォルトの名無しさん
垢版 |
2020/07/22(水) 09:14:51.73ID:4rDeqKZA
>>82
想像だけど、OpenCVはコンピュータビジョンのライブラリであって、
動画の出力に特化したライブラリじゃないから、
手の込んだ圧縮がしたいなら、
ffmpegのために連番画像を一回書き出すとか、それが嫌ならパイプで読んで標準入力に画像の生バイナリデータをがんがん送るとかで圧縮して、
希望の圧縮ができるようにしたほうがいいよ。
0084デフォルトの名無しさん
垢版 |
2020/07/22(水) 16:27:19.73ID:+NPWnIP/
素人グラマーです
フォルダかファイルを指定してリネームする関数を書いてみたのですが
こう書いた方がいいとか、ここがダメとかいう プロのグラマーの意見が欲しいです(勉強になるので)
https://dpaste.org/2KBd
0085デフォルトの名無しさん
垢版 |
2020/07/22(水) 16:31:21.66ID:+NPWnIP/
あと関数とか変数名のつけかたもよく分からんので、普通はこう命名する みたいな点があれば指摘していただけると助かります
0086デフォルトの名無しさん
垢版 |
2020/07/22(水) 16:35:49.29ID:J+LKPgcI
機能の割にコードが長すぎる
0087デフォルトの名無しさん
垢版 |
2020/07/22(水) 18:08:47.27ID:4Z1WR8QV
youtubeはdjangoで作られてるって言ってるひとがいるけど違うよね?
django公式にも採用例として載ってないし
0088デフォルトの名無しさん
垢版 |
2020/07/22(水) 18:59:09.61
>>83
そうなんですね
あれからいろいろやりましたがエラー頻発にめんどくさくなって
結局ffmpegでやることにしました・・
0090デフォルトの名無しさん
垢版 |
2020/07/22(水) 19:16:13.99ID:ILXZvJ+B
>>87
コアロジック部、APIはPython。
CPython通してCも間接的に使われている。
その他、C++、Goも使われている。
で、フレームワークにはJavaで動いてるGoogle Guiceが使われていると思われる。

Pythonが使われている=Djangoが使われている、ではないからね。
「証拠出せこの嘘つき野郎!」と煽ってみたらどうだろう?
0091デフォルトの名無しさん
垢版 |
2020/07/22(水) 22:14:01.64ID:hms371pk
Python超初心者なんですがでC#の匿名型+オブジェクト初期化子みたいな技使うなら辞書型になりますか?
[""]付けるのが嫌だなって・・・

var pet = new { Age = 10, Name = "Fluffy" };
pet.Age = ・・・

pet = {"Age":10, "Name":"Fluffy"}
pet["Age"] = ・・・
0092デフォルトの名無しさん
垢版 |
2020/07/22(水) 22:17:40.83ID:hms371pk
追記:理由はリテラルべた書きになるのでリファクタリング手間かなと・・・今はまだIDE分からないんでメモ帳使ってるんですが
0095デフォルトの名無しさん
垢版 |
2020/07/22(水) 22:47:03.65ID:Fc7dRB3X
>>94
そのサイトの分析結果見てから言ってるなら相当のマヌケだなお前。死んだ方がいいよ。分からないなら黙ってりゃいいのに。
0096デフォルトの名無しさん
垢版 |
2020/07/23(木) 00:46:26.22ID:YNpUiQSS
ローカルでDLやりたいのでおすすめなゲーミングPC教えてください。予算は20万前後でやんす
0100デフォルトの名無しさん
垢版 |
2020/07/23(木) 01:53:07.57ID:7K9Sfx1C
>>96
このスレに書き込みしてるって超初心者なら
まずは買う前に今手持ちのパソコンでPythonの
プログラムを走らせてみてから見積もりしても遅くないと思われ
0102デフォルトの名無しさん
垢版 |
2020/07/23(木) 04:05:25.46ID:7K9Sfx1C
家電製品を運ぶならF1カーより軽トラだし
家族がまだ居ないのにミニバン選んでも仕方ないからセダンにしとけという事だよ
何なら中古のゲーミングPCなら4〜5万円でも間に合うだろう
今最新のグラボ積んでも2年で使えなくなるかは
そのdeeplearningでやりたい事のプログラム次第なんだから
一概にオススメ出来るものは無いけど
グラボのメモリは8GB以上
マザボのメインメモリは12GB以上
CPUはグラボを計算用にする為グラフィックチップ内臓のもので
オンボードグラフィック可能なもの
(グラボの出力をモニターに繋がないで計算資源に割り当てる為、元から付いてないテスラもあるし)
OS側はSSDかM.2で128GB以上
ストレージは2TB以上のHDD
くらいので探してみてはいかがでしょう?
ガレリア、マウス、エイリアンウェア、などの外観は好みだけど
3日3晩フルでぶん回すとか(グラボ90℃のから温風で冬場暖房要らず)
あるから排熱フローはしっかりとね
(水冷にこだわる人も居ればグラボ6枚挿しのマイニング転用オープンカーで扇風機だったりもあり)
電源も80ゴールド+やプラチナとかは大事
出来ればマザボのコンデンサは固体タイプ
もうスレチの自作パソコンみたいになってくるんでこの辺でやめとくよ
職人の道具を揃えても職人とはいえないからね
0104デフォルトの名無しさん
垢版 |
2020/07/23(木) 06:46:27.03ID:nkO0RHc4
>>5
スですみません。
WindowsがPythonを認識していないようですね。

PCを一旦きれいにした方が良いかもしれませんね。

コマンドプロンプトを開いて、format c:とタイプしてenterを押してみていただけますか?
これで、PCはきれいになるはずです
0105デフォルトの名無しさん
垢版 |
2020/07/23(木) 06:53:32.66ID:CnqI/852
ubuntu使うとプログラミングにおいてメリットはあるでしょうか?
0107デフォルトの名無しさん
垢版 |
2020/07/23(木) 08:26:56.18ID:zP3HGIz/
ぱいそんって読むのか…
ぱいとんって読んでたわ…
しかも最近流行なのかと思ったらけっこう昔からあったのね…
0108デフォルトの名無しさん
垢版 |
2020/07/23(木) 11:52:28.22
フォーラムとかでコード参考にしてると
print("hoge")
ではなく
print "hoge"
みたいな書き方あるけど、エラーでる
python3じゃだめな書き方なの?
0109デフォルトの名無しさん
垢版 |
2020/07/23(木) 11:56:48.78ID:qQzwkkHt
>>108
はい
0110デフォルトの名無しさん
垢版 |
2020/07/23(木) 12:31:36.79ID:tfGyNQFW
>>91
名前付きタプルはどうかな?

もしくは、
pythonのクラスは後からメンバ変数追加できるからそれはどう?
class hoge():
pass

h=hoge()
h.age=10

みたいな

いずれにせよ、言語違うから、副作用を含む匿名関数とかも作れないし、匿名クラスもないし、多少全く同じ機能がないのは仕方ないかと

C#はなんでもあり言語だしね
0113デフォルトの名無しさん
垢版 |
2020/07/23(木) 15:54:59.06
>>109
そうですか
何かしらの開発ディストリビューション上でいけるやつなのでしょうね
ありがとうございました
0115デフォルトの名無しさん
垢版 |
2020/07/23(木) 18:26:24.28
a=["a","b","c"]
for n in a:
_print(n)

このときインデックスも取ろうと思ったのですが
for n,i in a:でいけるかなと思ったらエラーでました

n.index(n) や for i in range(len(a)):
以外にありますでしょうか
0118デフォルトの名無しさん
垢版 |
2020/07/23(木) 19:59:12.68ID:XjajsTxF
python使いの神様方に若干スレ違いで申し訳ないですがお願いです

このリアル植松の呟きをcsvに保存するプログラムを大至急作っていただけないでしょうか

もうすぐ凍結されると思うのですみませんがどうかお願いします

羆さん (@mhlworz) / Twitter
https://mobile.twitter.com/mhlworz

《SNSで接点》100万円で京都ALS患者殺害 容疑者40代医師はペンネームで「高齢者を『枯らす』技術」執筆 | 文春オンライン
https://bunshun.jp/articles/-/39214
https://twitter.com/5chan_nel (5ch newer account)
0121デフォルトの名無しさん
垢版 |
2020/07/23(木) 20:43:24.60ID:XjajsTxF
>>120
早速のレスありがとうございます
できましたら画像だけでなく呟き丸ごと欲しいです
とりあえず教えていただいた拡張使って画像落としてきます
0123デフォルトの名無しさん
垢版 |
2020/07/23(木) 21:41:28.58ID:QTbvAZbt
pythonを3.8.0から3.8.5にバージョンアップさせたのですが
venvで作成した仮想環境もまとめて更新する方法ってありませんか?
今は本体のpythonを更新したら仮想環境を1つずつ作り直してるのですが、手間がかかります
0124デフォルトの名無しさん
垢版 |
2020/07/23(木) 22:27:43.70ID:XjajsTxF
>>120
>>122
貴方様、作者様が神です
全16457tweet、無事きっちり落とさせていただきました
なんj、嫌儲で伝説とさせていただきます
VB使いのスレ汚しすみませんでした
0127デフォルトの名無しさん
垢版 |
2020/07/23(木) 23:19:03.15ID:OedHhoi2
>>124
死ね
0128デフォルトの名無しさん
垢版 |
2020/07/23(木) 23:43:12.55ID:sIO3ay9H
>>123
venvの入ってるもの一覧を出すコマンドと
画面に出てる文字列をファイルに書き出すコマンドを
合体させるのじゃ。
しかるのち、
新しいvenvに
書きだしたファイルを食わせて連続でインスコを行うようなバッチを作るのじゃ
0129デフォルトの名無しさん
垢版 |
2020/07/23(木) 23:54:20.92ID:ej2Z+n6U
マイナーバージョンのアップデートは、仮想環境そのままでいいだろ。
0130デフォルトの名無しさん
垢版 |
2020/07/24(金) 00:46:12.06ID:vSJbvQt5
>>123
requirements.txtで一回出力してインストールすれば良い
pip freeze > requirements.txt
pip install -r requirements.txt

詳細はpython requirements.txtでググれ
0134デフォルトの名無しさん
垢版 |
2020/07/24(金) 13:03:37.17ID:72O7cbcx
「”」を一つ入力すると、2つ出るようになりますが、
文字列の入力が終了して改行したい場合、右矢印ボタンを押してエンターしか方法はないのでしょうか。
0135デフォルトの名無しさん
垢版 |
2020/07/24(金) 13:23:35.71ID:qMgm686n
おま環
0136デフォルトの名無しさん
垢版 |
2020/07/24(金) 13:23:55.31ID:iQPAmZiy
二つ目の「"」の後に「\n」も一緒に出てくるように設定すれば下矢印キーを押すと次の行にいける
それか「真下に次の行を作成し、次の行に移動」というマクロを自作する
0137デフォルトの名無しさん
垢版 |
2020/07/24(金) 13:58:19.65ID:72O7cbcx
>>136
ありがとうございます。
地味に面倒だったので助かりました。
0138デフォルトの名無しさん
垢版 |
2020/07/24(金) 14:20:04.03
root = "/dir0"
dir = "/dir0/dir1/dir2/dir3"

#これの/dir0/dir1までの文字列を取得したいのです
dir2 = re.compile(dir+"/([^/]+)").match(root).groups()
if dir2:
_print( f'{dir}/{dir2[0]}' )

として取得できたのですが
なんか野暮ったい気がしますがもっとスマートは方法はありますでしょうか
0140デフォルトの名無しさん
垢版 |
2020/07/24(金) 14:45:24.01ID:9kemO6C0
>>138
reつかうより
「/」でsuplitして(仮リスト)
仮リストのインデックス0と1を「/」でjoinし、
先頭にも「/」をたしたらどーよ
0141デフォルトの名無しさん
垢版 |
2020/07/24(金) 14:49:49.02ID:uZPC/vMj
自演乙
0143デフォルトの名無しさん
垢版 |
2020/07/24(金) 14:56:03.91ID:RoszUeav
iPad ProでPythonは厳しいでしょうか?
やっぱりメモリ不足、機能不足ですか?

仕事用で資料書き込み用として併用を考えております

アホな質問ですいませんで申し訳ありませんが
どなたかご教授いただけたら幸いです
0144デフォルトの名無しさん
垢版 |
2020/07/24(金) 15:16:03.14ID:Y2miOylG
>>138
from pathlib import Path
root = Path(r"/dir0")
path = Path(r"/dir0/dir1/dir2/dir3")
root.joinpath(path.relative_to(root).parts[0])

Pathじゃなく文字列が欲しいだけなら
root = '/dir0/dir1'
path = "/dir0/dir1/dir2/dir3"
'/'.join(x for x in path.split('/') if x in root.split('/'))

どっちもスマートとは言い難いが
0146デフォルトの名無しさん
垢版 |
2020/07/24(金) 15:38:27.88ID:RoszUeav
>>145
iPad Proは最新12.9inch、1T、メモリ6gの予定です
Pythonでやりたいのは会計ソフトとHP作成です
0147デフォルトの名無しさん
垢版 |
2020/07/24(金) 15:45:54.46ID:9v9Epd9J
CPUアーキテクチャの差か、ふつうにMacBook Airなんかより高性能だよそれ。性能よりもHP作成は環境構築が大変そう。iOSだし。
0148デフォルトの名無しさん
垢版 |
2020/07/24(金) 15:53:31.80ID:RoszUeav
性能的には問題無く、後はやる気の問題てことですかね
お答えいただきありがとうございます
0149デフォルトの名無しさん
垢版 |
2020/07/24(金) 17:16:05.94ID:TyejJE4z
これがゆとりか
0150デフォルトの名無しさん
垢版 |
2020/07/24(金) 18:02:13.90ID:EzqRDhJF
とりあえずデータ分析やりたいんだけど、初心者は何をやればいいの?
手段の目的化してるけどね
0151デフォルトの名無しさん
垢版 |
2020/07/24(金) 18:31:20.13ID:rDJcOCUC
>>146
具体的にどのくらいのファイルを読み込無必要があるのかとか、どんな処理をしたいかによるから答えようがない
0152デフォルトの名無しさん
垢版 |
2020/07/24(金) 19:14:01.68ID:RoszUeav
>>151
すいません、容量はさっぱりわかりません…
会計ソフトはなるべく簡素な内容で、領収書・証明書発行・対象となる人についての情報登録(1万人くらい)と検索、これくらいです
0153デフォルトの名無しさん
垢版 |
2020/07/24(金) 19:43:15.27ID:l81RW4Gg
もちろん誰かが作るのだろ?
こんなのを聞かなきゃわからん奴には無理だろ
0154デフォルトの名無しさん
垢版 |
2020/07/24(金) 20:07:35.97ID:dCuI9tr+
ExcelをPythonで操作するところから始めればいいよ
その手の本が出てるから買うなり図書館で借りるなり
0155デフォルトの名無しさん
垢版 |
2020/07/24(金) 20:18:40.29ID:Jf8Unsu+
> お前は毎朝起きるたびに俺に負けたことを思い出すよ^^

あー、ホンッとに思い出すなあ(笑)
キチガイの嘘つきの低レベルFランの、
朝鮮ゴキブリBot君は、
チョン独特の「なにもできないけど俺のほうがジャップより偉い!」的な
ことはよーくわかったよ。
ホントなにもできない朝鮮ゴキブリBot君!

クソチョンw

Pythonさえろくにできないバカチョンのくせに
できるとほざくクソチョンw

日本で強姦と窃盗を繰り返す
犯罪者在日のクソチョンw
0156デフォルトの名無しさん
垢版 |
2020/07/24(金) 20:22:42.54ID:RoszUeav
>>153
自分の立場上、2,3年後くらいに確実に必要になるものでして…
時間掛かってものんびり挫けず組んでいけたらなと

不快にさせてしまったのであれば申し訳ない
決して舐めてる訳では無い
0157デフォルトの名無しさん
垢版 |
2020/07/24(金) 20:35:44.19ID:fpaVh+C9
メモリ関係なくipadでpythonは筋悪
pro買う金があればマトモなノート1台用意出来る
0158デフォルトの名無しさん
垢版 |
2020/07/24(金) 20:42:29.05ID:RTipKYMc
>>147 は? もう全てのAppleのOSは統合されるよ。

>>152 クラウドの会計ソフトを使うだけじゃないの? そんな知識で自分で作るつもり?

専門家に相談したほうが良いよ。
0159デフォルトの名無しさん
垢版 |
2020/07/24(金) 20:46:49.63ID:43ToZIiT
Pythonで会計ソフトなんて作ってもバイナリサイズがバカデカくて動作モッサリなゴミしか生まれんぞ
0161デフォルトの名無しさん
垢版 |
2020/07/24(金) 21:33:39.65
>>140,142,144
rootが/dir0/dir00とかになったときにズレそうな気もしましたが
rootの/の数をプラスしてやればできそうですね
splitつかえばスマートにいけそうです
ありがとうございました
0162デフォルトの名無しさん
垢版 |
2020/07/24(金) 21:39:54.33ID:iQPAmZiy
howじゃなくてwhyだな

・「会計ソフト」と称される
・『立場上』、2〜3年後に必要となる
・一万人規模
・カネと引き換えに紙の免状を送る
・外注はしない/出来ない
・既存のAccessなどは使わない

そりゃ10000人から1000円集めたって10000000円だろ
ツールに50万円くらい払ったっていいじゃん

「立場上」「必ず必要になる」「2〜3年後」「それだけが出来る超高性能ソフトウェア」が欲しい、だ
それだけが可能な、単機能でピーキーなアプリだ
立場上必要になるが、自分個人でしか使わない、となる
立場によって使うことになる、役職上業務上の会計ソフトウェア、なんてのは異質だからな
ついでに、iPadで作るってことはiPadで使うことを念頭にしてるのか?
なんにせよ、何に使うかは本人の中ではバッチリ決まってる

・・・ウラのウラのウラがありそう
0163デフォルトの名無しさん
垢版 |
2020/07/24(金) 22:21:10.03ID:RoszUeav
そんなウラがあるもんでも無いんですが…
・ソフトが自分しか使わないのは自営業だからで、ソフトを売るつもりは無い
・既存のモノを使うには月々いくらかかかり、それが長年続く
・自分が使う時まではまだ年単位で時間あるから、必要なら作ってしまうか
・iPadやMacBookはあるから使えるよう持っていきたい


動機自体は安易なんですが、自分が思っている以上に大変な事のようですね…
0165デフォルトの名無しさん
垢版 |
2020/07/24(金) 22:30:59.60ID:RoszUeav
それが7年前に買ったMBAで…たまに落ちる時がありいつまで保つかわからないのです
新しく買う際、>>143の目的もあって併用出来たらありがたいなと思い、感触として誰かご存知であればと質問させていた次第です
0166デフォルトの名無しさん
垢版 |
2020/07/24(金) 22:54:33.93ID:fpaVh+C9
ipadは開発機じゃ無いしMBAの代わりにもならん
ipad活用計画は捨ててmac買い直せ
0167デフォルトの名無しさん
垢版 |
2020/07/24(金) 23:52:23.90ID:5pyHYg/M
>>165
馬鹿はいい加減に消えろ
0168デフォルトの名無しさん
垢版 |
2020/07/24(金) 23:56:48.80ID:RoszUeav
素直に買い直した方が良さげですね

返信していただいた方々、ありがとうございました
気長に作っていきたいと思います
スレ汚し申し訳ありませんでした
0169デフォルトの名無しさん
垢版 |
2020/07/25(土) 00:09:50.78ID:KTGk3oHn
pythonで作ったアプリ配布したいけどpyinstallerがダメ過ぎる。
これってhello worldぐらいしか通らないんじゃないか?
0170デフォルトの名無しさん
垢版 |
2020/07/25(土) 00:17:18.81ID:E//0WwbU
>>163 馬鹿な考えだと気がつけないのは愚か。
そんな状態で何か作るならExcel とかでやっとけ。

ま、自分がお勧めするのは MoneyForward などのクラウドソフトだな。

MoneyForwardなら領収書をiPhoneで撮影すれば全て明細が一覧で出てくるし。
銀行やクレジットカードなどの履歴も全て自動で取り込まれ確定申告がすごく楽。

日常の講座管理も楽。先ずは試してみるべき。
0171デフォルトの名無しさん
垢版 |
2020/07/25(土) 00:42:02.96ID:RCpRqG+R
>>169
PtinstallerはMacは無理ゲーだけど
Windowsなら普通にアプリ作成いけるよ
自分は社内アプリを作ってた
まぁイレギュラーな方法だけどね
0173デフォルトの名無しさん
垢版 |
2020/07/25(土) 03:07:29.18ID:uhXYZAuD
改訂2版 Ruby逆引きハンドブック、2018、株式会社マネーフォワード

この本は、デザインパターンの宝庫で、Ruby の名著!
Rails でも有名な会社
0174デフォルトの名無しさん
垢版 |
2020/07/25(土) 03:23:57.70ID:ajAv/KNZ
馬鹿が出てくるとその後荒れるから迷惑
0177デフォルトの名無しさん
垢版 |
2020/07/25(土) 05:17:27.75ID:SKtgUtDy
機械学習系ってどうやって役立てればいいのかわかりません
個人レベルで役立つ事はありませんか
0180デフォルトの名無しさん
垢版 |
2020/07/25(土) 05:55:29.03ID:SKtgUtDy
>>178
画像ダウンロード違法になるしね、、、

>>179
画像生成に興味がありましたけど、これは予測系ですよね
分類系とはどういうものでしょうか
0181デフォルトの名無しさん
垢版 |
2020/07/25(土) 05:57:35.95ID:MPIh5oPo
>>180
適当にエロを集めてきたとして
俺好みかそうでもないか地雷かを学習させ
俺地雷を警告する
とか。
0182デフォルトの名無しさん
垢版 |
2020/07/25(土) 06:39:44.57ID:SKtgUtDy
金に結びつけるにはどうしたらいいんだろうね
株とかそれくらいしか思いつかない
0183デフォルトの名無しさん
垢版 |
2020/07/25(土) 06:40:45.23
>>172
>142と>144の後半だと
root="/dir0"の場合は/dir0/dir1
root="/dir0/dir00"の場合は/dir/dir00
になってしまいますね
>144さんの前半は/dir/dir00/dir1となってバッチリでした
0185デフォルトの名無しさん
垢版 |
2020/07/25(土) 10:05:21.37ID:SKtgUtDy
不良検知って企業レベルじゃないかしら
エロ画像生成するくらいかね?
0186デフォルトの名無しさん
垢版 |
2020/07/25(土) 12:02:33.34ID:KTGk3oHn
>>171
Ptinstaller?
pyinstallerの打ち間違いですか?
pyinstallerはなんかmatplotとの相性問題が言われてますよね。
自分のアプリはmatplot使いまくってるので、通らないのかなぁ・・・。
せっかくアプリ書いたんだけど非技術系の人たちは実行ファイルにしないと
対応してくれないので(´・ω・`)
0187デフォルトの名無しさん
垢版 |
2020/07/25(土) 12:25:34.19ID:/U2+qAwV
os.walkでフォルダ内のファイル探査中にファイル削除ってしていいの?
for root, dirs, files in os.walk(fpath, topdown=False):
_for name in files:
__os.remove(root+"/"+name)

みたいな
0188デフォルトの名無しさん
垢版 |
2020/07/25(土) 12:28:50.21ID:S/hmdynO
悪質なウィルスだなw
0189デフォルトの名無しさん
垢版 |
2020/07/25(土) 12:52:38.08ID:1SYMGxp3
確かに躊躇するな。
いいか悪いかわからんけど、削除予定のパスはリストに突っ込んでおいたら?
0190デフォルトの名無しさん
垢版 |
2020/07/25(土) 13:07:32.05ID:/U2+qAwV
>>188-189
実際はos.remove(root+"/"+name)の前に条件に一致するファイルだけ削除したいんだけど
やっぱまずはパス名だけリストして
ループ抜けたあとに、最後にそのリストを参照して削除した方がいいのかあ
0191デフォルトの名無しさん
垢版 |
2020/07/25(土) 13:32:43.90ID:MWx9t2wm
> お前は毎朝起きるたびに俺に負けたことを思い出すよ^^

あー、ホンッとに思い出すなあ(笑)
キチガイの嘘つきの低レベルFランの、
朝鮮ゴキブリBot君は、
チョン独特の「なにもできないけど俺のほうがジャップより偉い!」的な
ことはよーくわかったよ。
ホントなにもできない朝鮮ゴキブリBot君!

クソチョンw

Pythonさえろくにできないバカチョンのくせに
できるとほざくクソチョンw

日本で強姦と窃盗を繰り返す
犯罪者在日のクソチョンw
0192デフォルトの名無しさん
垢版 |
2020/07/25(土) 19:25:59.36
配列にマイナスの数値かけたらスルーされてそれは期待する結果だったけど
そういう使い方してもOK?

ary = ["a","b","c"]
len_max = 5
print( ary + ['x']*(len_max-len(ary)) )
len_max = 2
print( ary + ['x']*(len_max-len(ary)) )
0193デフォルトの名無しさん
垢版 |
2020/07/25(土) 19:52:16.69
print('aiueo'.split(''))
#これでいけると思ったのにエラーでた

print([s for s in 'aiueo'])
#['a','i','u','e','o']
#こうするしかないのだろうか
0199デフォルトの名無しさん
垢版 |
2020/07/26(日) 15:54:42.06ID:RfjORUiz
任意のフォルダ(fpath)内のすべてのファイルを検索をして
名前に◯◯が含まれていたらcallback1を実行…@
名前に△△が含まれていたらcallback2を実行…A
ただしcallbackはファイル検索がすべて終了した後

をしたくてゴリ押しでなんとかいけたのですが
”ファイル検索後”の処理部分がモヤモヤします・・
(該当したファイル分だけコールバックが保管されてるところとか)

@Aで引っかかったファイルのパスと、対応するコールバックを一時的にリストに保管
そのリストをループして・・・みたいな感じです
https://ideone.com/UUltFZ

もっと良い感じにできないものでしょうか・・
0201デフォルトの名無しさん
垢版 |
2020/07/26(日) 16:03:14.64ID:EPcNRgdm
学校の課題だか仕事だか知らんけど、自分でやる気なくて他人にやらせて成果だけ自分のものにしようって考えの人なんでしょ
0203デフォルトの名無しさん
垢版 |
2020/07/26(日) 16:10:59.18ID:RfjORUiz
ゴリ押しできるコードを自力で完成させるまでは質問はしないと自分ルールで決めているのですが
非のない最適コードをかけるまで、となると
ハードルが高いというかゴールが見えないんですよね・・
そもそもどこが足りないかがわからない、みたいな
仕様書を全部読めばいけそうですが右から入って左から抜けていきそうです(汗

>>202
199を投稿した直後に「あれ、これもしかしてこういうモジュールあるのでは・・?」
と思ったのですがまさか、、scandirさっそく調べてみます
0204デフォルトの名無しさん
垢版 |
2020/07/26(日) 17:20:20.59ID:T2XYMYOv
os.scandir ?
os.listdir 使うと幸せるなれるかも
fnmatch.filter 使うと幸せるなれるかも
glob.glob 使うと幸せるなれるかも
glob.iglob 使うと幸せるなれるかも
pathlib.glob 使うと幸せるなれるかも
pythonやめると幸せになれるかも

for x in glob.glob(‘./foobar/*.[Mm][Pp]4’):
__callback(x)
0205デフォルトの名無しさん
垢版 |
2020/07/26(日) 18:15:39.82ID:RfjORUiz
そもそもなんですが、もしかして
ディレクトリ内の検索再帰中にファイルの削除操作ってしても良い感じなのでしょうか?
ファイルを一括操作してるコードをいろいろと見てみましたが普通に
for中に、ヒットしたら即ファイル操作(名前変更したり削除したり)してるようなコードばかりです
(もちろん、検索ヒットしたファイルを変更したあとで(変更前のファイルを)扱うようなコールバックはエラーですが)
例えば
ary = ["a","b","c"]
for n in ary:
_ary.pop(-1)
_print(n)

"c"はprintされないので非同期的にループ処理がされている?と思うのですが
こういったことがファイル検索中のファイル操作でも起こるのかなと思い>199のようなコードになったのです
0206デフォルトの名無しさん
垢版 |
2020/07/26(日) 18:18:54.16ID:70qYmsrd
したいならすればいいししたくないならしなければいいだろ
自分の好きにしろよ
0207デフォルトの名無しさん
垢版 |
2020/07/26(日) 18:26:17.92ID:RfjORUiz
>>206
ゴリ押しで動くコードはもう完成してるし動くので作業には支障ないんです>199
(もしかするとコードが書かれたurlが下の方なので見えない人がいるかもしれない?https://ideone.com/UUltFZ

今はその先の段階で、もっと賢く書けないだろうか?
という段階です
0209デフォルトの名無しさん
垢版 |
2020/07/26(日) 18:54:38.20ID:RfjORUiz
例えば>199の
>(該当したファイル分だけコールバックが保管されてるところとか)
これの改善策は自レスになりますが
globalsを使えば、dataに入れるのはコールバック名(str型)だけでよくなります
def func():
_print('func()')
globals()['func']()
でも初心者の私は、コールバック名(単なるテキスト)から関数が実行できる、という
そもそもそこを知らなかったので、そういうアイデアが出るまで時間かかりました
(ただその後、そもそもコールバック関数名のテキストだけ入れた場合と、コールバック関数を入れた場合とでそんなに差があるのか?という疑問もわきました)
おそらく上級者の人はこの辺の把握力とか改善スピードがすごいのでしょうね
0211デフォルトの名無しさん
垢版 |
2020/07/26(日) 19:25:32.76ID:RfjORUiz
課題・・?
よくわかりませんがもしかすると>199でそもそも何をしたいのかが
伝わってなかったっぽい・・?
自分で客観的に>199を見て簡単にまとめるとすれば
'''
任意のディレクトリ内で複数のフィルター検索をし
それぞれのフィルターに対応したコールバック関数を
該当ファイルすべてに対して実行する
ただしコールバック実行のタイミングは、検索終了後とする
'''
みたいな感じでしょうか
内容自体はかなり簡単だと思います
初心者の自分ですら必要十分まではこぎつけたので
0212デフォルトの名無しさん
垢版 |
2020/07/26(日) 20:39:49.64ID:T8T+tUZ4
アホだ
0213デフォルトの名無しさん
垢版 |
2020/07/26(日) 21:24:04.96ID:Q1iiyZri
> お前は毎朝起きるたびに俺に負けたことを思い出すよ^^

あー、ホンッとに思い出すなあ(笑)
キチガイの嘘つきの低レベルFランの、
朝鮮ゴキブリBot君は、
チョン独特の「なにもできないけど俺のほうがジャップより偉い!」的な
ことはよーくわかったよ。
ホントなにもできない朝鮮ゴキブリBot君!

クソチョンw

Pythonさえろくにできないバカチョンのくせに
できるとほざくクソチョンw

日本で強姦と窃盗を繰り返す
犯罪者在日のクソチョンw
0214デフォルトの名無しさん
垢版 |
2020/07/26(日) 22:24:27.47ID:T2XYMYOv
>>211
単純に条件にマッチするファイル名のリスト(もしくはイテレータ)を生成して
それに対して関数を適用するほうがずっとシンプルだと思うけど
それだと何か不都合があるの?

条件1にマッチするリストを生成 -> 関数1を適用
条件2にマッチするリストを生成 -> 関数2を適用
条件3にマッチするリストを生成 -> 関数3を適用
0216デフォルトの名無しさん
垢版 |
2020/07/27(月) 00:26:48.90ID:DIwwuwRf
>>214
それと似た感じでパターン(>199で言うところのfilters)を1関数につき1種にして
lst1 = filter_search('条件1',関数1) #条件に一致したファイルパスのリストを返す …@
list2 = filter_search('条件2',関数2) # lst1をcallback2で使えたりする余地
みたいなことや
見ため的にclassにして
filter_search('/path').fltr('条件1',callback1).fltr('条件2',callback2) …A
みたいな形にしていました

しかしcallbackの内容次第ではファイルが消えたりするので
条件12それに対応する関数12の依存関係が強いなと気付き
lst12 = filter_search(['条件1','条件2']) #対応するcallbackを与える or lst12を再帰させる
みたいに、あえて依存関係を作った方がいいかな?と
(しかし>199のようにcallback割当が野暮ったくなる・・みたいな結果に)

”非同期的にファイルが消えたりリネームされる?されても大丈夫?”という部分がスッキリすれば
(特に大量のファイル数を扱うわけでもないし)214さんの方法や@、Aの方法を取っていたとおもうし
そうでなくとも、コメントアウトで説明入れとけばいいのでは?とも思います
ただ、上手い感じに依存関係をコードの視覚的にパッケージできないだろうかとも思ったのです
0217デフォルトの名無しさん
垢版 |
2020/07/27(月) 00:38:37.88ID:sO2/nmC+
pyinstallerって全てのライブラリに対応しているわけじゃないんだね。
まあ、当たり前といえば当たり前だが。。。
うまく実行ファイルできればラッキーというところか。。。
0218デフォルトの名無しさん
垢版 |
2020/07/27(月) 00:40:44.65ID:DIwwuwRf
ただ214さんのおっしゃる通りイテレータを使えば
条件の依存関係を保ったまま視覚的な表現ができそうです
一度それでやってみようかと思います
0219デフォルトの名無しさん
垢版 |
2020/07/27(月) 01:52:08.88ID:TQCIWmFu
>>216
>しかしcallbackの内容次第ではファイルが消えたりするので
>条件12それに対応する関数12の依存関係が強いなと気付き
>lst12 = filter_search(['条件1','条件2']) #対応するcallbackを与える or lst12を再帰させる
>みたいに、あえて依存関係を作った方がいいかな?と

なるほど、わからん
ファイル消す処理をしてるなら消えて何が困るのか?
依存関係??

全体的に無理に難しい言葉を使おうとしてる印象を受ける
コードもそれと全く同じで無理に難しくしてる印象を受ける
0220デフォルトの名無しさん
垢版 |
2020/07/27(月) 02:13:07.40ID:cBvHge2x
>>219
頭の悪い本当の馬鹿は内容を理解せずあちこちからコピペするだけだからこうなる。
ゆとり世代に多い。
0222デフォルトの名無しさん
垢版 |
2020/07/27(月) 08:30:59.36ID:DIwwuwRf
>>219
>何が困るのか?
普通に>216@Aのパターンで何も困らないし自分も基本そうしてます
以前ここかどこかで質問したとき
再帰中に消すのはなぁ、みたいな意見が一定数あったので
自分でもファイル一括処理方法のサイトをいくつか調べてみましたが
特に気にしているようなコードはみかけませんでした
それもあって単に、
#---- A ----
条件1='条件'
条件2='条件1依存の条件'
関数1=条件1のための関数
関数2=条件2のための関数
#---- A' ----
lst1 = f_search(条件1,関数1)
lst2 = f_search(条件2,関数2)
#---- B ----
これ(AB間)を
「条件1ありきで条件2を書き、かつ関数12は条件12のためだけに書いたぞ」
という両方を満たす雰囲気をコード上で表現できるようなうまい書き方はないもんかな
という見た目の話です
0223デフォルトの名無しさん
垢版 |
2020/07/27(月) 09:56:15.59ID:rtutVcR3
>>222
自分もそういうタイプなので敢えての小言

mp4とmovを振り分けるのに引数にする必要も正規表現使う必要もないですよね。
いやそこは簡略化した例だから、やりたいことを察してピンポイントで助言がほしいというつもりなんだろうけど、それってすごい偉そうな物言いで、助言をもらうのは厳しいと思います、必要ないことやろうとしてるようにしか見えませんから。
といってもそういうセンサーはついてないのだと思うし、そもそもあなたは自分で解決しないと納得できないタイプですから、人には聞かず自分で探し出しましょう。
0224デフォルトの名無しさん
垢版 |
2020/07/27(月) 10:30:12.06ID:DIwwuwRf
>人には聞かず自分で探し出しましょう
繰り返しになりますが、
”コードは野暮ったくても実用できるまで”
は解決はしてるんです
ただ、もっと書き方を良くできないだろうか
という点が質問した一番の意図です
その先も自分で探し出しましょうとなると
このスレの存在意義は?とちょっと疑問に思います
(もちろん自分でも探しています)

>199,211でも書いてあるように
>ただしコールバック実行のタイミングは、検索終了後とする …@
なんですよね
しかし今のところ
”検索中、同時進行でコールバック実行(ファイル処理)”
してしまえば問題なく書ける、についての返答なんです
しかし質問の前提は@
要するに@をやらない書き方をしましょう、という提案なんですよね
@をやらない方法は自分自身>216で通過済みで、それがあっての@>199なんです
そこでループしてるなと感じますね

>必要ないことやろうとしてるようにしか見えませんから
複数条件検索の全部終了後の全ファイルパス取得を取得し
それぞれの条件に対応した関数を実行する
ファイル検索に限らずこの部分はほんとに不必要なのかな、とは個人的には思います
0227デフォルトの名無しさん
垢版 |
2020/07/27(月) 13:41:39.26ID:RLaVSjh7
コールバックにする理由が1mmもないことにワロタ
複数条件考えるなら条件の優先順位考えて上から実行するだけ
最後にやりたいってことは条件の衝突を管理したいようだけど、今の調子だとバグの温床になるぞ
処理の一つ一つは疎結合にして上から順に処理すべき
0228デフォルトの名無しさん
垢版 |
2020/07/27(月) 13:44:15.00ID:Hxb31aUu
ゆとり教育の馬鹿に何を教えても無駄だと思う
0230デフォルトの名無しさん
垢版 |
2020/07/27(月) 14:17:57.57ID:EH5Hzntf
mp4とmovで重複してるからどちらか片方を消したい、とかじゃないの

そもそものやりたいことが一切書かれてないからこれ以上は何も出てこない
howは出てくるけど肝心要のやりたいことが一切出てきてないでしょ
なら出てくるコードに対しては「はいそうですね」としか言いようが無い

一番トップのメインの主題が隠されてるから、こちらが提案しても「それは違うこれも違う」言ってる小出し人間だ
コレ、外側の他人から見るとお気持ちだけで否定してるクズにしか見えない
0233デフォルトの名無しさん
垢版 |
2020/07/27(月) 14:32:03.41ID:DIwwuwRf
>条件2='条件1依存の条件'
例えば条件1でヒットしたファイル名だとか
読み取った内容だったりとかで条件2の解釈も変わるときとか
NOT検索とか
ヒットしたら条件1でヒットしたファイルをやっぱり操作しないとか(これは条件を逆にすればいいだけですが)
まだありそうです
0234デフォルトの名無しさん
垢版 |
2020/07/27(月) 14:55:14.45ID:TQCIWmFu
>>233
日本語ももうちょっと整理してくれないと読むのがしんどい

> 「条件1でヒットしたファイル名だとか読み取った内容だったりとか」で条件2の解釈も変わるとき

↑これだと「条件1の検索結果に条件2が依存してる」と言ってるのと大差ないからわからないよ
前段の処理次第で解釈が変わる条件と言ってるものが具体的にどういうものを想定しているかを聞いてる
0236デフォルトの名無しさん
垢版 |
2020/07/27(月) 15:06:42.77ID:DIwwuwRf
>>234
>条件1の検索結果に条件2が依存してる
はその通りの意味でいいと思います
条件1,2は単なるstr型とも限らないので
で、>227さんの言う>処理の一つ一つは疎結合にして上から順に処理すべき
はもちろんのことで、それはもうできたんです
しかし手続き的に条件1とか条件2とか定義するコードの見た目とのトレードオフだと思い
そこでとりあえず>233などいろいろなフィルタを経て、条件に一致するファイルだけをリスト化して
あとでまとめて処理しよう、という形でやってみようという流れがあります
0237デフォルトの名無しさん
垢版 |
2020/07/27(月) 15:37:04.74ID:hnjNWdgG
> お前は毎朝起きるたびに俺に負けたことを思い出すよ^^

あー、ホンッとに思い出すなあ(笑)
キチガイの嘘つきの低レベルFランの、
朝鮮ゴキブリBot君は、
チョン独特の「なにもできないけど俺のほうがジャップより偉い!」的な
ことはよーくわかったよ。
ホントなにもできない朝鮮ゴキブリBot君!

クソチョンw

Pythonさえろくにできないバカチョンのくせに
できるとほざくクソチョンw

日本で強姦と窃盗を繰り返す
犯罪者在日のクソチョンw
0239デフォルトの名無しさん
垢版 |
2020/07/27(月) 17:34:24.82ID:AMGxP3t5
>>224
このスレの存在意義は質問ですが、あなたは(私も)人の意見を聞くことのできない人種なので、聞いても無駄です。無駄につきあわされる人は腹を立てます。

もしまだ本心から人の意見が聞きたいと思っていると思うなら、下手な抽象化をせず、ソースコード全部公開することをおすすめします。
0240デフォルトの名無しさん
垢版 |
2020/07/27(月) 18:03:09.97ID:DIwwuwRf
>>239
>199と>207でめちゃくちゃ公開しているんですが・・
で、>人の意見を聞くことのできない
の全く逆で”人の意見を聞いて”それをヒントに、数レス後に自己解決に近いとこまではきたんです
>209とか>216あたりです(結局、クラス化すればglobalsなんて要りませんでしたが)。
それからは、もう最初の質問の意図と全く違う方向で
逆質問みたいになってなぜかこちらが用途について説明してる感じになってるんですよね
なぜファイルをあとで処理するのかとか、なぜコールバックにするのだとか
そこから派生した以降のやり取りってもう質問でもなんでもなく別の雑談だと思いますよ

質問の本質は単に
ファイル検索がすべて終わった後にリスト化して、まとめて最後に処理をする
であったわけで、こういう汎用シーンって結構あると思うんですよ
で上級者の方ならリスト化のテクニックもそれだけ経験豊富なわけですよね
しかし返ってきたのはそもそもの
リスト化や検索後の処理の必要性について
え?そこから?みたいな突っ込みをされて正直なところ不思議な感覚でした
0241デフォルトの名無しさん
垢版 |
2020/07/27(月) 18:07:27.24ID:DIwwuwRf
とりあえず自己解決部分を補足しておくと
最初は、
NOT・アンチなどフィルタ検索部

リスト化

通常の条件検索部
_└→条件1リスト化
___└→(条件2以降のための)ファイル処理
_____└→条件2リスト化→ファイル処理(条件3、4,5など続く)→…
…→ 最終処理ファイルリスト化 → 最終ファイル処理
みたいに分けていました(ただ汎用性はまるでないです)

その後>通常の条件検索部以降の条件1,2…部分と
最終ファイル処理部の条件はかぶるし、NOT・アンチフィルタも条件チェーンに入れることができると考え、
まとめることにしました
で、(処理を指示する情報も含めた)そのリスト化は(質問後に)できました
今は↑のような段階的処理をメソッドチェーンにして
条件とコールバックの依存関係だけをみれるような形なので汎用性があります
res = exSearch('/foobar').fltr(条件1,func1).fltr(条件2,func2)
#条件2は条件1の結果を参照することができるが、
#この部分の補足がコードからは読み取りづらい
res.get_func_list()#[ {"func1":['/foobar/hoge/test.txt', '/foobar/fuga/test.txt']},{},{},,, ]
res.do() # self.fnc1やself.fnc2を使ってそれぞれのファイルを処理する
0243デフォルトの名無しさん
垢版 |
2020/07/27(月) 18:19:39.51ID:DIwwuwRf
それは”条件”というワードがどこから始まったかをたどれば自ずと答えは出てくると思いますよ
0244デフォルトの名無しさん
垢版 |
2020/07/27(月) 18:54:48.82ID:TQCIWmFu
日本語のコミュニケーションに難があって
君が何を求めてるのかわからないから抽象度を下げて具体例を聞いてるんだけど
それも説明できないようなのでもう諦めるわ
0245デフォルトの名無しさん
垢版 |
2020/07/27(月) 19:11:26.58ID:DIwwuwRf
求めている(いた)のは繰り返しになりますが>199や>211ですよ
具体例もソースコードも誰がどう見てもめちゃくちゃハッキリと書いてあります
>1テンプレ推奨のurlも使ってます
0246デフォルトの名無しさん
垢版 |
2020/07/27(月) 19:46:34.94ID:RLaVSjh7
>>241にある「ファイル検索がすべて終わった後にリスト化して、まとめて最後に処理をする」だけだったはずなのに話が難しく感じるのは何故だろう

俺もやるならメソッドチェーンかなぁ、優先順位が明確だしね
そうするとクラス化するだろうから、コールバックじゃなくて一連のシンプルな処理をメソッドとして実装するかな
.move(条件1).delete(条件2).rename(条件3)
0247デフォルトの名無しさん
垢版 |
2020/07/27(月) 20:37:43.78ID:TQCIWmFu
>>246
>.move(条件1).delete(条件2).rename(条件3)

条件1を満たしたファイルをmoveして
moveした結果のうち、さらに条件2を満たしたファイルをdeleteして
deleteした結果のうち・・・renameできねぇ・・・

例だからrenameできないのはいいとして
意図としては上に書いたイメージ?
0249デフォルトの名無しさん
垢版 |
2020/07/27(月) 20:55:23.93ID:7UNR98vA
PythonのコードをC++に変換するようなツール出てこないかなぁ
Python遅すぎるわ
0254デフォルトの名無しさん
垢版 |
2020/07/27(月) 21:36:32.37ID:DIwwuwRf
>コールバックじゃなくて一連のシンプルな処理をメソッドとして実装する
決まった処理ならそれが一番わかりやすいですね >>246
.move()
#ここで検索が終わり処理する
.delete()
#ここで検索が終わり処理する
.rename()
#ここで検索が終わり処理する
なのか、
.move().delete().rename()#最後にリストを処理する
か(または混合なのか)はオプションで選択できそうですし

・◯◯ファイルを含むディレクトリ内のファイルは処理しない .ignor(条件)
 全メソッド内で、処理をしないディレクトリを総当り?
・.move(条件1)のmoveする予定のファイル情報を読み取り.delete(条件2)の条件2に与えたい
 .move(条件1).over(条件).delete(条件2) #元々チェーンだから意味が分かりにくいかも
・リスト化の段階でmove→delete→renameによるファイルの存在有無の変化を考慮する必要性があるか否か

改めてこの辺りの実装をやっていきたいと思います ありがとうございました
0255デフォルトの名無しさん
垢版 |
2020/07/27(月) 22:40:22.24ID:P2Gsimd7
そもそも、そんな複雑な、2つ以上の条件があるものを、直接削除してはならない!
絶対に、ロールバックできないから

本当は、別のフォルダに、全く同じフォルダ階層を作って、
そこへ削除するものを移動するのが正しい。
その後、検証してから削除するか、そのまま保存しておく

または、すべての階層を丸ごとコピーして、バックアップを作ってから、試すとか

繰り返し途中で削除するのは、非常に危険!
途中でエラーになったら、そこまで処理した分だけが削除されてしまう

データベースで言う、一貫性がなくなるので、ロールバックできない状態になる。
全てが正常終了するか、または、途中でエラーが出たら、すべてが元通りになるべき

高機能なアプリでは、ロールバックできるように作っている
0256デフォルトの名無しさん
垢版 |
2020/07/27(月) 23:56:31.64ID:UIY75t8S
珍しくruby厨がまともなことを言っている
削除は戻せないから削除候補ディレクトリに入れるとかして別タイミングで削除ってのは確かによく使う手だな
0257デフォルトの名無しさん
垢版 |
2020/07/28(火) 00:14:18.96ID:M5Qb6v84
個人用途ならRecycleBinやTrashに入れる処理をdeleteってことにすれば十分
販売するようなデスクトップアプリならUndo含めて考えるけどそういうのはpythonでは作らない

途中でエラーが出たら元通りにすべきかどうかも仕様次第
DBと違ってファイルシステムの場合は100%元通りには出来ないケースが出てくる
0258デフォルトの名無しさん
垢版 |
2020/07/28(火) 00:58:34.57ID:8RKB8VPn
PyScripterでデバッグした時のローカルファイルのパス指定ってどうなってるの?
例えばhoge.py、hoge.mp3が同じディレクトリにあって
hoge.py内でhoge.mp3を再生する時パス名を'hoge.mp3'にすると
コマンドラインでは正常に再生されるけど
PyScripterのデバッグ実行だとWinError6のエラーになる
0259デフォルトの名無しさん
垢版 |
2020/07/28(火) 01:41:42.35ID:kkkGcMlI
>>258
getcwdでカレントディレクトリをチェックしたらどうかな。
スクリプトのパスはなんかで取れるから、そこからの相対パスと合成するって手もあるよ
0260デフォルトの名無しさん
垢版 |
2020/07/28(火) 08:32:36.71ID:XiTafywX
PyScripterに、スクリプト実行するときにそこにcdするって設定ないのかな?
0261デフォルトの名無しさん
垢版 |
2020/07/28(火) 09:09:57.39ID:OeNaj/pH
要約すると、さしあたって必要はないけどスマートなプログラムを書きたいので上級者の人に無料で添削してほしいということです
0262デフォルトの名無しさん
垢版 |
2020/07/28(火) 10:06:58.31ID:oemm2Eov
>>260
自分で作っとけ がんがれ

>>261
×上級者
◎俺様の脳内をエスパーできる超能力者かつPythonにも詳しいSSRカード並みの誰か
0264デフォルトの名無しさん
垢版 |
2020/07/28(火) 13:15:28.49ID:8dcNMYlA
プログラミングスレあるあるだけど
抽象的な質問があると回答→否定されることに怯えている回答者って一定数いるよね
間違えているわけでもないのに妙に回答失敗に怯えているというか
回答が質問者に合わなかったとしても、スレ的には周りから見れば財産にしかならない
上級者であればあるほど質問者の1から「あーハイハイあれのことね」と
10も20も話を展開できるだけの話なのになって思う
悪い意味ではなくアスペなのかもしれない
0267デフォルトの名無しさん
垢版 |
2020/07/28(火) 15:13:03.65ID:r/RYJPdX
>>264
これは脱初心者したばかりの中級者に有りがちな考え方

質問からあれこれ憶測するのは簡単
ただ経験を積めば積むほど初心者の質問であっても可能な限り憶測を排してニュートラルに解釈しようと努めることの大切さを理解するようになる

そこを理解してない人から見れば否定されることを恐れてるように見えるんだろうが、実際恐れてるのは自身が短絡的思考パターンに陥ることと相手に間違った結論に飛びつかせてしまうこと
0268デフォルトの名無しさん
垢版 |
2020/07/28(火) 15:39:02.40ID:XpAjM/1U
>>249
マジレスするとそういうツールはあるが
Pythonを単純にC/C++に置き換えても
速くなる訳ではない
Pythonでnumpy使った方がマシだったりする
0270デフォルトの名無しさん
垢版 |
2020/07/28(火) 23:55:03.98ID:NjbUIJIP
>>267
結局のところ仕事でもなければ自分に影響しないところにいる奴からの質問に対しても慎重に答えてしまうのは
職業病もあるだろうが結局間違った解決策出して後から教えた奴に間違ってんじゃん大したことねーなと思われたくないからなのであながち間違っちゃいない
0271デフォルトの名無しさん
垢版 |
2020/07/29(水) 01:06:27.61ID:zUmFJLox
いや、影響しないどうでもいいやつとほんとに思ってるなら大したことねーなと思われるのもどうでもいいと思う・・w
それに初心者スレの質問レベルでエスパー回答が立て続けに外れるなんて極稀なことだ
密室で一対一で問答してるわけでもないしスレの価値や利用者からすればスレの代謝が良いに越したことはない
0272デフォルトの名無しさん
垢版 |
2020/07/29(水) 01:18:17.20ID:YczEsKda
言い過ぎだけどエスパーできない人の方がたいしたことねーなと思ってしまう
アキネイターじゃないけど、一発勝負じゃないわけだし
その過程で副産物もあるよね
0273デフォルトの名無しさん
垢版 |
2020/07/29(水) 01:22:09.55ID:4K5iZ0U7
回答する側に問題がないとは言わないが9割5部以上は質問する側の問題
質問の仕方と聞く耳の持ち方

回答する側はスルー力が試される
0274デフォルトの名無しさん
垢版 |
2020/07/29(水) 02:03:41.38ID:w2wSnydH
今回のやつも最初はそれなりにエスパーレスついてる

それに対して「そうじゃないんです、それはもうできてるんです、やりたいことはすでに書いてあります」って返すから答えるほうはだんだんイラついていってる

質問してるほうは本人的には理解してると思ってることを何度も回答されるし、やりたいことを繰り返し説明しても理解を示して貰えないからイラついてる

この状況でもっとエスパーしたらいいのにって感じるなら頭オカシイよ
0275デフォルトの名無しさん
垢版 |
2020/07/29(水) 02:36:25.45ID:d0wyjV5c
エスパー回答自体はスレの代謝が上がるので良いと言えるが
エスパーするかどうかは自由なので同列に扱うのはそれこそ頭オカシイ
0276デフォルトの名無しさん
垢版 |
2020/07/29(水) 02:44:49.65
エスパー回答は自由
もちろん慎重回答も自由

ただし初心者スレでは圧倒的にエスパー回答の解決率の方が高い現実w
確実な情報を得てから完璧に俺が解決してやる!と意気込む慎重派が抽象化能力に長けたエスパー回答者に先を越される
そういう嫉妬を産んでしまうのかも
0278デフォルトの名無しさん
垢版 |
2020/07/29(水) 10:05:10.58ID:8eN/BE+W
python再入門(一度は挫折)したので、このスレでお世話になるかもしれません。
現段階で特に何も質問とかないんですが、決意表明として勝手に使わせていただきました。
あと、質問と回答のやり取りを見ていれば何か勉強になるかと思って・・・
失礼しました。
0279デフォルトの名無しさん
垢版 |
2020/07/29(水) 10:20:44.09ID:O/c273Wp
> お前は毎朝起きるたびに俺に負けたことを思い出すよ^^

あー、ホンッとに思い出すなあ(笑)
キチガイの嘘つきの低レベルFランの、
朝鮮ゴキブリBot君は、
チョン独特の「なにもできないけど俺のほうがジャップより偉い!」的な
ことはよーくわかったよ。
ホントなにもできない朝鮮ゴキブリBot君!

クソチョンw

Pythonさえろくにできないバカチョンのくせに
できるとほざくクソチョンw

日本で強姦と窃盗を繰り返す
犯罪者在日のクソチョンw
0281デフォルトの名無しさん
垢版 |
2020/07/29(水) 13:12:25.02ID:hY/5h1XO
次はワッチョイ
0282デフォルトの名無しさん
垢版 |
2020/07/29(水) 13:45:01.62ID:R6rbFOBy
>>278
まずは自分の意思で息を30分止められるようになってから出直せばいいよ
0283デフォルトの名無しさん
垢版 |
2020/07/29(水) 13:50:49.07ID:5HzgCMZ6
学術の巨大掲示板群 - アルファ・ラボ ttp://x0000.net
数学 物理学 化学 生物学 天文学 地理地学
IT 電子 工学 言語学 国語 方言 など

simulationライブラリで純粋な関数式プログラミングをする
UIライブラリ (C#, 2D) を作ったよ
連続と離散を統一した!
4Dエンジン
matrixのライブラリ
ある強力なFor関数
SQLライブラリ

☆ VM + ASM を書いた (C#, DX) * x86 ではない!
ttp://up.x0000.net/files/TSimulang.zip
☆ malloc / free を実装してみた (C#)
ttp://up.x0000.net/files/TMallocTest.zip
0284デフォルトの名無しさん
垢版 |
2020/07/29(水) 14:01:43.96ID:1iAhPXaB
はじめまして、写経の修行中のものですが、このプログラムにエラーが出ます
一時間ほど考えても何がダメかわからないので、ダメなところをご教授いただければ幸いです
#1 python3
# pw.py -パスワード管理プログラム(脆弱性あり)

PASSWORDS={'email':'F7minlBDDuvMJuxESSKHFhTxFtJVB6',
'blog':'VmALvQyKAxiVH5G8v0if1MLZF3sdt',
'luggage': '12345'}
import sys
import pyperclip

if len(sys.argv)< 2:
print('使い方:python pw.py[アカウント名]')
print('パスワードをクリップボードにコピーします')
sys.exit

account=sys.argv[1]

if account in PASSWORDS:
pyperclip.copy(PASSWORDS[account])
print(account+'のパスワードをクリップボードにコピーしました')
else:
print(account+'というアカウント名はありません')

エラーメッセージはこんな感じです
Traceback (most recent call last):
File "C:/Users/U/AppData/Local/Programs/Python/Python38-32/pw.py", line 15, in <module>
account=sys.argv[1]
IndexError: list index out of range
>>>
よろしくお願いします
0285284
垢版 |
2020/07/29(水) 14:05:25.20ID:1iAhPXaB
:の後の行のスペース4つ分抜けていますが、
自分が入力したやつはきちんとスペースがあります
0286デフォルトの名無しさん
垢版 |
2020/07/29(水) 14:10:38.43ID:4K5iZ0U7
>>284
>if len(sys.argv)< 2:

len(sys.argv)が1だとしたら上の条件はfalse
長さ1だとsys.argv[0]は存在するけど
sys.argv[1]は存在しないのでindex out of range
0287デフォルトの名無しさん
垢版 |
2020/07/29(水) 14:19:45.35ID:1iAhPXaB
>>286
ありがとうございます
account=sys.argv[1]を
account=sys.argv[0]
にするとエラーなく動きましたが、
本は1になっているので誤植?かもしれないですね
回答したいただいた内容も把握できないので、
もう少し勉強します...
0288デフォルトの名無しさん
垢版 |
2020/07/29(水) 14:26:21.78ID:4K5iZ0U7
>>286
あれ? おかしなこと書いてた
len(sys.argv)が1ならFalseじゃなくTrueだわ

起動するときにaccount名を引数で渡してないのとインデントの問題かもね
$ python pw.py account_name
0290デフォルトの名無しさん
垢版 |
2020/07/29(水) 14:41:04.91ID:1iAhPXaB
ありがとうございます
用事が入ったので、後で試してみます!
0291デフォルトの名無しさん
垢版 |
2020/07/29(水) 14:41:14.58ID:1iAhPXaB
ありがとうございます
用事が入ったので、後で試してみます!
0292デフォルトの名無しさん
垢版 |
2020/07/29(水) 21:44:40.57ID:1iAhPXaB
>>289
正解でした
ありがとうございます
0293デフォルトの名無しさん
垢版 |
2020/07/29(水) 23:38:11.02ID:8eN/BE+W
x = 0 % 3
print(x)

こうすると0が出力されるのですが、0を分子にして計算した場合にエラーにならないのはなぜでしょうか。
(0で割る、ではなくて、0を割る、という話です。)
pythonはそういうもの、ということでしょうか?
0295蟻人間 ◆T6xkBnTXz7B0
垢版 |
2020/07/29(水) 23:45:06.50ID:hGtKVe2E
余りがあるとすれば、割り切れているから、余りもゼロ。
0297デフォルトの名無しさん
垢版 |
2020/07/29(水) 23:47:06.32ID:R6rbFOBy
>>293
30分息を止めてから書き込めよ
0298デフォルトの名無しさん
垢版 |
2020/07/29(水) 23:48:08.36ID:BvcXBHVA
>>293
死ねよ
0300デフォルトの名無しさん
垢版 |
2020/07/30(木) 00:07:26.78ID:DmQX4FWT
0で割ることが出来ないのはわかっていたのですが、「0を割ることが出来ない」って書いてあるサイトがあったので質問させていただきました。
別に普通に出来るんですね。
イライラさせてしまってすみません。
0303デフォルトの名無しさん
垢版 |
2020/07/30(木) 05:05:11.24ID:LvOSdG4W
python3.7.6 windows10 anaconda3

Qt designer5.9.7で作成したuiファイルをpyファイルに変換したいです。コマンドプロンプトで下記のエラーが出ます。


C:\Users\・\Desktop>pyuic5 test.ui -o test.py
'pyuic5' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。



どうすれば変換できるでしょうか。ど素人です。
0304デフォルトの名無しさん
垢版 |
2020/07/30(木) 05:14:06.83ID:LvOSdG4W
↑すみません自己解決しました。
環境変数で登録したpathが間違えてました。
0305デフォルトの名無しさん
垢版 |
2020/07/30(木) 05:31:37.81ID:EKK/+ooC
__truediv__を使えば/演算子を使って0で割ったように見せることができる(文字列)
class slash(object):
_def __init__(self,s):
__self.s = s
_def __truediv__(self, other):
__return [self.s[:other],self.s[other:]]
print(slash('abcdefghi') / 1)
print(slash('abcdefghi') / 2)
print(slash('abcdefghi') / 0)
>>
['a', 'bcdefghi']
['ab', 'cdefghi']
['', 'abcdefghi']
0311デフォルトの名無しさん
垢版 |
2020/07/30(木) 09:21:57.64ID:fO1gE2oV
>>300
>0を割ることは出来ない
数学的には間違ってるけど、日本語としては必ずしも間違ってるとは言えないとは思うわ
0314デフォルトの名無しさん
垢版 |
2020/07/30(木) 17:24:36.72ID:grEa/bDf
そういえば、Pythonnだと
1.0 / 0 = Infinity
0.0 / 0 = NaN
にならないな。
0316デフォルトの名無しさん
垢版 |
2020/07/30(木) 17:37:35.06ID:+IR+ealO
>>315
1/0.1
1/0.0001
1/0.000000000000000001
1/0.0000000000000000000000000000001
どう考えても無限大に発散するだろ
0317デフォルトの名無しさん
垢版 |
2020/07/30(木) 17:40:43.14ID:EPvquY9v
NaN と Infinity は別物
0318デフォルトの名無しさん
垢版 |
2020/07/30(木) 17:48:26.97ID:+IR+ealO
逆に
0.1 /1
0.0001 /1
0.000000000000000001 /1
0.0000000000000000000000000000001 /1
0/1 は限りなく0だろ
0319デフォルトの名無しさん
垢版 |
2020/07/30(木) 17:54:42.04ID:Wsw+dL9C
限りなく黒に近いグレー
0321デフォルトの名無しさん
垢版 |
2020/07/30(木) 19:35:21.39ID:QVyQvPPs
>>316
+のほうの極限は∞だけど、
−のほうの極限は−∞
だから定まらない
0322デフォルトの名無しさん
垢版 |
2020/07/30(木) 19:39:00.77ID:d5UDzlex
25の平方根になるのは5で、google電卓の場合は√25で5が答えとして出ますです
windows関数電卓の場合はどうやるんどすか?
0323デフォルトの名無しさん
垢版 |
2020/07/30(木) 19:44:19.49ID:bchcTqvk
初心者なのですが質問させてください。
明日から夏休みで彼女と泊りがけで熱海に旅行に行きます。

うまくリードするためのコツとかありませんか?
なるべくコールバックは使いたくありません
0327デフォルトの名無しさん
垢版 |
2020/07/31(金) 01:05:01.96ID:AWCTGfyP
py2appで作成したアプリって,どうしてサイズが大きくなってしまうのでしょうか?
サイズを小さくする方法はないのでしょうか?
0328デフォルトの名無しさん
垢版 |
2020/07/31(金) 01:14:57.98ID:NLLSCNEk
Pythonは悪魔手スクリプトでインタープリタが実行してるのに対して
マックドナルドなネイティブアプリにコンパイルして実行ファイルになるんだからアタリメクラッカー
0329デフォルトの名無しさん
垢版 |
2020/07/31(金) 01:18:00.88ID:AWCTGfyP
>>328
なんとなーく分かりました
たしかにpythonベースのアプリ全般,容量が大きい気がします
諦めるしかないんですね…
0331デフォルトの名無しさん
垢版 |
2020/07/31(金) 03:35:20.07ID:FfqYSIT0
> お前は毎朝起きるたびに俺に負けたことを思い出すよ^^

あー、ホンッとに思い出すなあ(笑)
キチガイの嘘つきの低レベルFランの、
朝鮮ゴキブリBot君は、
チョン独特の「なにもできないけど俺のほうがジャップより偉い!」的な
ことはよーくわかったよ。
ホントなにもできない朝鮮ゴキブリBot君!

クソチョンw

Pythonさえろくにできないバカチョンのくせに
できるとほざくクソチョンw

日本で強姦と窃盗を繰り返す
犯罪者在日のクソチョンw
0334デフォルトの名無しさん
垢版 |
2020/08/01(土) 10:54:24.39ID:ul3104AO
ソース(サイトから拾ってきてるので間違いは多分ない)は数行でエラーコードが長いものの質問したいのですがありですか?環境の問題だと考えて入るのですが。
エラーコード長すぎてスレに貼れないのでその場合どうするといいですか?
0337デフォルトの名無しさん
垢版 |
2020/08/01(土) 13:26:25.86ID:GZTqAP90
> お前は毎朝起きるたびに俺に負けたことを思い出すよ^^

あー、ホンッとに思い出すなあ(笑)
キチガイの嘘つきの低レベルFランの、
朝鮮ゴキブリBot君は、
チョン独特の「なにもできないけど俺のほうがジャップより偉い!」的な
ことはよーくわかったよ。
ホントなにもできない朝鮮ゴキブリBot君!

クソチョンw

Pythonさえろくにできないバカチョンのくせに
できるとほざくクソチョンw

日本で強姦と窃盗を繰り返す
犯罪者在日のクソチョンw
0339デフォルトの名無しさん
垢版 |
2020/08/01(土) 23:12:33.45ID:qVnOzDD7
スクレイピングの本で一番のおすすめは何でしょうか?
これからpython2年生をやる予定です
オライリージャパンのセンザンコウが表紙のはクソみたいなのでやめました
0342デフォルトの名無しさん
垢版 |
2020/08/02(日) 04:44:26.68ID:yz3gxwYF
>>339
それである程度基礎が理解できるようになってきたら
次は中級者向けで広く浅いライブラリ紹介にとどまるけど
「Pythonによるスクレイピング&機械学習 開発テクニック BeautifulSoup,scikit-learn,TensorFlowを使ってみよう 」クジラ飛行机
なんてのはどうでしょう?
自分のやりたい事とマッチングするのが見つかるかも?
0343デフォルトの名無しさん
垢版 |
2020/08/02(日) 09:39:52.63ID:dNbCIXPQ
うちもスクレイピングしたくて本買ったけど、結局ネットで調べてる情報でやりたいこと完成したから1ページも読まないまま置いてある
目的が先に達成されてしまうとやる気がおきん…
0344339
垢版 |
2020/08/02(日) 09:40:46.16ID:E4bEQw/0
回答ありがとうございます

とりあえずpython 2年生やって、342さんのをやってみますね
ちなみに今は面倒くさいことはpython にやらせようをやっています
これも結構難しいです
理解には三カ月ぐらいかかりそう
0345デフォルトの名無しさん
垢版 |
2020/08/02(日) 10:24:29.39ID:VdhKDmoH
純粋にスクレイピングがやってて面白くない。
ほとんどテクニックだけの世界で。
その点ではWebサーバサイドも似ているけど、こっちはまだ作る楽しみがある。
0346デフォルトの名無しさん
垢版 |
2020/08/02(日) 12:29:39.88ID:uvJ0AhRU
>>339
pythonのマニュアル

どうしてみんなマニュアルを読まないんだろうね
一番ちゃんと書いてあるのに
0350デフォルトの名無しさん
垢版 |
2020/08/02(日) 17:19:38.08ID:Src0piYd
> お前は毎朝起きるたびに俺に負けたことを思い出すよ^^

あー、ホンッとに思い出すなあ(笑)
キチガイの嘘つきの低レベルFランの、
朝鮮ゴキブリBot君は、
チョン独特の「なにもできないけど俺のほうがジャップより偉い!」的な
ことはよーくわかったよ。
ホントなにもできない朝鮮ゴキブリBot君!

クソチョンw

Pythonさえろくにできないバカチョンのくせに
できるとほざくクソチョンw

日本で強姦と窃盗を繰り返す
犯罪者在日のクソチョンw
0351デフォルトの名無しさん
垢版 |
2020/08/02(日) 18:37:38.07ID:rl9xr/mh
beautifulsoupでは取れないサイトが多すぎる。
で、結局変化後のDOMに追随できるSeleniumの学習に進むことになるわけだが…
そこまでやるなら、さらにjsとcssも分かってるとくればpuppeteerやtaiko使った方が楽という罠
0352デフォルトの名無しさん
垢版 |
2020/08/02(日) 18:41:50.96ID:HU2rRSvM
seleniumを使っていると悪質botとみなしてアクセスブロックするサービスを使う増えてきていて、スクレイピングはいずれ廃れる技術。
0353デフォルトの名無しさん
垢版 |
2020/08/02(日) 19:07:24.40ID:rl9xr/mh
seleniumとかは本物のブラウザを操作してアクセスしてるわけで、そんなん掻い潜る方法はいくらでもある。ただしrecapchaに類するパズル解かせて人間か判断するブロックはいかんともしがたいが…
そこは一旦停止させて人間に入力させるようにするしかない
0354デフォルトの名無しさん
垢版 |
2020/08/02(日) 19:17:01.80ID:hOgQnHyE
株価のデータを引っ張ってくるにはどうするのがベストなの?
0356デフォルトの名無しさん
垢版 |
2020/08/02(日) 22:48:40.05ID:afjdMLlX
最初から、Ruby on Rails で、Selenium Webdriver が楽。
DB も付いてる

Github Actions のCI のシステムテストで、
Capybara で、Headless Chrome を使うとか
0358デフォルトの名無しさん
垢版 |
2020/08/02(日) 23:13:41.34ID:rl9xr/mh
selenium自体はJava製で、各種言語向けのドライバーが出ています。
その中で最も人気なのがPython向けdriverで、
最も不人気なのがRuby向けdriverです。
0359デフォルトの名無しさん
垢版 |
2020/08/03(月) 00:04:38.60ID:V89o1FHv
その死んだ言語と比べてもスクレイピングに必要な言語機能もライブラリも劣ってるのがPythonなんだよなぁ

今どきbs4+selenium+pythonで苦労してる人ってちょっと大丈夫?って思っちゃう

実際につかったことなければ苦労も分からないか
0362デフォルトの名無しさん
垢版 |
2020/08/03(月) 08:21:37.31ID:PbA5kDcu
> お前は毎朝起きるたびに俺に負けたことを思い出すよ^^

あー、ホンッとに思い出すなあ(笑)
キチガイの嘘つきの低レベルFランの、
朝鮮ゴキブリBot君は、
チョン独特の「なにもできないけど俺のほうがジャップより偉い!」的な
ことはよーくわかったよ。
ホントなにもできない朝鮮ゴキブリBot君!

クソチョンw

Pythonさえろくにできないバカチョンのくせに
できるとほざくクソチョンw

日本で強姦と窃盗を繰り返す
犯罪者在日のクソチョンw
0363デフォルトの名無しさん
垢版 |
2020/08/03(月) 11:05:29.54ID:3aFKjSal
>>353
>一旦停止させて人間に入力させるようにするしかない

ここを上手く工夫して
「AIで文字認識の研究にご協力ください」っていう偽サイト造って
そこに問題解く人を大量に誘導する仕組みにして
captchaを人間に代行させる自動化プログラムらしきものを観たことがある
0365デフォルトの名無しさん
垢版 |
2020/08/03(月) 11:30:55.54ID:VqnR0HKx
一種の(良心的?)MITMなのでbotにアクセスされても困らないというか
botが来る理由が判らない
0366デフォルトの名無しさん
垢版 |
2020/08/03(月) 11:41:09.31ID:MCqJ1GDb
>>363
2captchaだね。
1000ReCaptchaあたり3ドル取る有料サービス。
現在の平均解決時間は45秒とのこと。
0367デフォルトの名無しさん
垢版 |
2020/08/04(火) 01:30:57.80ID:8b2QE9nU
pythonでaccessを実行したいと考えています。
いくつか調べてみましたがさっぱり分からず。。。

具体的にはaccessでファイルを出力する際にボタンをクリックするのですが、その作業を複数回する必要があり、それを自動化したいと考えています。
pythonでデータベースを読む込む必要はなく、その作業だけを自動化したいです。
どのようなモジュールを使えばできるでしょうか?

低レベルな質問で恐縮ですが、お答えいただければ幸いです。
0368デフォルトの名無しさん
垢版 |
2020/08/04(火) 01:51:06.44ID:8QweQuKX
>>367
死ね
0370デフォルトの名無しさん
垢版 |
2020/08/04(火) 09:37:31.18ID:5xy5U4C9
> お前は毎朝起きるたびに俺に負けたことを思い出すよ^^

あー、ホンッとに思い出すなあ(笑)
キチガイの嘘つきの低レベルFランの、
朝鮮ゴキブリBot君は、
チョン独特の「なにもできないけど俺のほうがジャップより偉い!」的な
ことはよーくわかったよ。
ホントなにもできない朝鮮ゴキブリBot君!

クソチョンw

Pythonさえろくにできないバカチョンのくせに
できるとほざくクソチョンw

日本で強姦と窃盗を繰り返す
犯罪者在日のクソチョンw
0371デフォルトの名無しさん
垢版 |
2020/08/04(火) 09:49:27.55ID:d/TW9CWz
辞書でキーが存在しないときにNone返してくれるgetって便利なのあるけど
これの配列バージョンは無いの?
0372デフォルトの名無しさん
垢版 |
2020/08/04(火) 10:07:57.19ID:b4l1hFqy
335 336 338
コードもエラーコードも1のリンクあるものに貼り付けるのが正しいのでしょうか?
悩んでいたのですが、コードが人によっては不愉快になるかもしれないのでその質問自体は自粛しておこうかと思ってます。
内容的にはポイ活的なコードですが。


別の質問なのですが、会社のパソコンで休み時間などにPythonを勉強したいのですが会社のパソコンにはソフトのインストールはできません。
ウェブ上でseleniumとかも使えるサイトは無いですよね?
会社でポイ活のコードとか作動させる気はなく勉強用としてです。
0373デフォルトの名無しさん
垢版 |
2020/08/04(火) 10:35:35.31ID:vYzFyP25
>>372
Pythonのページいけよ
0376デフォルトの名無しさん
垢版 |
2020/08/04(火) 10:56:56.50ID:0aBwwNst
俺もポイ活勢だけどあまりこの話は余所で出さない方がいいぞ
ポイ活自体印象相当悪いからな
0377デフォルトの名無しさん
垢版 |
2020/08/04(火) 12:31:40.25ID:DzQriKoF
>>367
win32com を使う
access でボタンを押したときに呼ばれてる関数を探す
win32com からその関数を実行する
0378デフォルトの名無しさん
垢版 |
2020/08/04(火) 12:50:22.67ID:5Wn6uTlk
373
なるほど。わかりました。

374
環境作ればリモートもたしかによさそうな気がしてきました。p関連は最終的に自分で勉強していきます。

375
すみません。ですが1を読んでもわかりません。
0379デフォルトの名無しさん
垢版 |
2020/08/04(火) 13:42:38.77ID:yjO/bVZu
python 3.9がリリースされたらしいんですが
公式見ても見つかりません
誤報でしょうか?
0381デフォルトの名無しさん
垢版 |
2020/08/04(火) 14:12:09.06ID:rbslZ05+
3.9はまだベータ、正式版は10/5の予定
ダウンロードページの真ん中あたりにPython 3.9 Release Scheduleってあるじゃろ
0382デフォルトの名無しさん
垢版 |
2020/08/04(火) 15:17:38.90ID:d/TW9CWz
a = 0
if True:
_a = 1
else:
_a = 0
print( a )

一行目のa=0ってかならずaが1か0が代入されるのでいらないと思うけどみなさんは書く派ですか?
自分は何の変数があるかどうかぱっとみわかりやすいので書く派なんすけどa以外にも複数変数あるときも書くものかなって。
でも結局最後の行見ないといけないし、やっぱこの変数使わないってなったら編集の面倒さも2倍だなって
0384デフォルトの名無しさん
垢版 |
2020/08/04(火) 16:01:09.56ID:DzQriKoF
else には行かないから
a = 1
だけで充分だろ
もし変数観るなら
b = True
a = 1 * b
#aは1
b = False
a = 1 * b
#aは0
0385デフォルトの名無しさん
垢版 |
2020/08/04(火) 16:33:07.59
>>383
その1や0の部分に他の変数が出てくる時見づらくないですか?
関数型みたいに他の変数の数だけ三項演算子で記述するってことかな?
それなら見やすいと思った
>>384
>else には行かないから
その通りです
なぜならif Trueになっているからです
そこから下はちょっと何言ってるかわかりませんでしたすいません
0389デフォルトの名無しさん
垢版 |
2020/08/04(火) 19:29:59.51
>>387 なんか見えてきたので間違ってるかもしれないけど一応メモしとく

a=1
b=0
if True:
_a=1
_if True:
__b='1,1'
_else:
__b='1,0'
else:
_a=0
_if True:
__b='0,1'
_else:
__b='0,0'
print(a,b)

こういう書き方のコードって結構見る
if Trueの部分が真偽どちらであろうと結局a,b出力されるじゃんって感じのコード

実際見るコードはaもbも複雑で相互作用しまくってるけど
結局見やすさを追求するなら、変数が出てくる部分をどうにかこうにか関数でやればいいじゃんって思ってきた
f1=lambda n:1 if n else 0
f2=lambda n:1 if n else 0
f30 = lambda n1:lambda n2:'('+str(n1)+','+str(n2)+')f30'
f31 = lambda n1:lambda n2:'('+str(n1)+','+str(n2)+')f31'
f4 = lambda n:1 if n else 0
ab=lambda a:f30(a) if f4(a) else f31(a)

n = f1(True)
a = f1(n)
b = f2(False)
print('a = '+str(a))
print('b = '+str(b))
print('(a,b)='+ab(a)(b))

最終的に使われている変数は何か、が圧倒的に見やすい
いらない変数を削除・編集したときに、削除・編集すべき関数も瞬時にわかる
0390デフォルトの名無しさん
垢版 |
2020/08/04(火) 21:13:38.93ID:HzuBP/6f
Pythonしか書かない人とCも書く人ではコーディングスタイルが多少変わってもおかしくない
とりあえず出てくる変数は先に宣言した方が見やすかったりするのさ。
後でアルゴリズムを変える可能性を考えると必ず式で一発で評価できるか微妙なときもあるしね。
0392デフォルトの名無しさん
垢版 |
2020/08/04(火) 23:51:00.57ID:KNZwnkDB
def show_start_menu():

root1 = tk.Tk()

root1.title(u"データ分析")
root1.geometry("400x300")

# Label
Static1 = tk.Label(text=u'分析するデータの個数を選択して下さい')
Static1.pack()

# Button1
Button1= tk.Button(text=u'1データを分析', width=25)
Button1.bind("<button1-1>",print('click'))
Button1.place(x=105, y=60)

root1.mainloop()

これを実行するとウインドウ開くと当時にclickって表示されるんですけどなんででしょう?
button1を左クリックしたらclickと表示されるようにしているつもりなんですが・・・。
0395デフォルトの名無しさん
垢版 |
2020/08/05(水) 00:51:10.71ID:ZBlhTFE5
>>392
メソッドの引数は渡される前に評価(print()が実行)されてしまうから。tkは関係ない

def clicked():
print('click')

button1.bind('<button-1>', clicked)
0396デフォルトの名無しさん
垢版 |
2020/08/05(水) 01:24:16.90ID:Oa+okPfy
>>393,>>394
ということは、やっぱり必ず真になって偽にはならないということだよね
デバッグやループのときに使うのはわかるけど、
それ以外で使う意味がいまいちわからなくて
結局件の使い方には意味がないってことでいいの?
0397デフォルトの名無しさん
垢版 |
2020/08/05(水) 02:02:08.19ID:BHc41wwZ
>>396
馬鹿にはわからんだけだよ
0399デフォルトの名無しさん
垢版 |
2020/08/05(水) 02:36:08.51
n = f1(True)を n = f1(False)にすればa=0になるし
if True: を if False:にしてもいいし
文脈みればどうでもいい部分だからif Trueにしてるってことくらいわかるでしょ
a=1だけでいいとかはまったくの的外れ
0400デフォルトの名無しさん
垢版 |
2020/08/05(水) 02:39:15.35
コード”のみ”をみれば結果がa=1だからそれを最適化すればいい
とか普通にネタで言ってるんだと思って流してたけど違うのか??
そんなこと言い出したら全角の_でインデント使ってるとこも
エラー出るぞとか言って徹底すればいいのに
0401デフォルトの名無しさん
垢版 |
2020/08/05(水) 02:41:39.28
ガチのマジでアスペいない?
あざといからネタでやってるんだと思ってるんだけどなぁ
0402デフォルトの名無しさん
垢版 |
2020/08/05(水) 02:45:26.49ID:2RyFB+EQ
初めから知識0からじゃ何も進まないじゃないか
ともかく前提条件が >>1以外の事は考えたくないんだ
0403デフォルトの名無しさん
垢版 |
2020/08/05(水) 06:22:32.72ID:LSc+X1IL
↓のような標準入力が大量にあったとして、それをリストに入れたい状況で、
リストを順に命名する方法はありますか?
list_001 list_002 list_003 list_004 list_m の様に増えていくイメージです。

for i in range (m): のような形の処理しか思いつかないのですが、
リストを何らかの順番で規則的に命名する方法がわかりません。
よろしくおねがいします。

--------------------------
123 4 56 789 0123 45 67 8901 .....n list_001
as efef asef fe3 434 ee fea ...n list_002
aseff ae asd ...n list_m
0404デフォルトの名無しさん
垢版 |
2020/08/05(水) 08:08:10.54ID:XsPNeg0Z
>>403
temp_dic={}
forループの中で
temp_list=[]
リストの中身いれてさいごに
hoge="list_"+str(i)#桁揃えのやり方あるけどなんだったかわすれたわ
temp_dic[hoge]=temp_list

でもってさいごのさいごに
またforループでdicから順々に取り出せばえんでねーのかな
0405デフォルトの名無しさん
垢版 |
2020/08/05(水) 08:51:45.64ID:L/0IIDMF
> お前は毎朝起きるたびに俺に負けたことを思い出すよ^^

あー、ホンッとに思い出すなあ(笑)
キチガイの嘘つきの低レベルFランの、
朝鮮ゴキブリBot君は、
チョン独特の「なにもできないけど俺のほうがジャップより偉い!」的な
ことはよーくわかったよ。
ホントなにもできない朝鮮ゴキブリBot君!

クソチョンw

Pythonさえろくにできないバカチョンのくせに
できるとほざくクソチョンw

日本で強姦と窃盗を繰り返す
犯罪者在日のクソチョンw
0406デフォルトの名無しさん
垢版 |
2020/08/05(水) 09:11:58.61ID:+q2ZzHFA
>>405
放射能まみれのチョッパリが何をイキガッているんだ?
強姦と窃盗はお前らチョッパリのお得意分野だろう!
慰安婦の方々に謝罪し、徴用工の方々にきちんと賠償しろ

俺たちに口応えするのはそれからだ!
0408デフォルトの名無しさん
垢版 |
2020/08/05(水) 10:10:28.99ID:zJw940E0
>>395
ありがとうございます。
これだと
clicked() takes 0 positional arguments but 1 was given
となりました。引数無いぞコラというエラーですよね。

def clicked(a):
print('click')

button1.bind('<button-1>', clicked)

だとOK。
0410デフォルトの名無しさん
垢版 |
2020/08/05(水) 10:20:59.91ID:zJw940E0
左クリックをすると
イベント値をclickedにわたすということでしょうか?
クリックをしたら関数を実行みたいにしたいのですがbindを使うのが間違ってる?
0412デフォルトの名無しさん
垢版 |
2020/08/05(水) 10:44:01.02ID:xKYyZvTf
>>403
execをつかう

要するに、「python 変数 動的 生成」と検索すると答えは出る

Python - pythonでname0,name1,name2・・・のように変数を宣言したい|teratail
https://teratail.com/questions/9130

pythonで動的に変数を定義する - Qiita
https://qiita.com/ytsumura/items/917de811c023ee9f3709

pythonの教科書でevalが全然説明されてないのも問題だ
こういう便利なヤツはバンバン使えばいいのに
そもそもevalとapplyは最重要項目でしょう
0413デフォルトの名無しさん
垢版 |
2020/08/05(水) 11:07:48.36ID:G2EhtAf5
そもそもlist/dictに勝る点がないので、便利でも何でもない。
デバッグのし辛さとか変なコードの実行などなど。
execなんかよりストレートにglobals/locals使う方法もあるが、
globals()["hoge"] = "Hoge"
print(hoge)
これもexecと同様デバッグがめんどくさくなる。
0414デフォルトの名無しさん
垢版 |
2020/08/05(水) 11:21:08.66ID:zJw940E0
>>410
すいません自己解決しました。
button1 = tk.Button(root1, text='1データを分析', font=20,command = clicked)
でOKでした。
0415デフォルトの名無しさん
垢版 |
2020/08/05(水) 11:38:46.21ID:zJw940E0
ずっとanacondaからvscodeでpythonいじってたんですが、
プログラムの規模が大きくなってきたため、統合開発環境をインストールして開発しようかと思っています。
無料の統合開発環境でいいのってないですか?
0416デフォルトの名無しさん
垢版 |
2020/08/05(水) 11:38:47.88ID:LSc+X1IL
2次元配列のリストと辞書(一次元)は同じ様に思えるのですが、違いはありますか?
(3.7以前、辞書が順序を保存しなかったときは大きな違いがあったと理解しています。)

それぞれの仕組みが書いてあるサイトはあるのですが、何が違うのかを調べても見つけることが出来ませんでした。

書くのが面倒であれば、説明が書いてあるサイトを貼っていただく形でもありがたいです。

>>412
ありがとうございます。試してみます。
0417デフォルトの名無しさん
垢版 |
2020/08/05(水) 11:39:01.66ID:kVNaCqIg
File "C:\Users\NEC-PCuser\.spyder-py3\temp.py", line 23, in <module>
my_data = genfromtxt('SingleECG.csv')

File "C:\Users\NEC-PCuser\anaconda3\lib\site-packages\numpy\lib\npyio.py", line 1772, in genfromtxt
fid = np.lib._datasource.open(fname, 'rt', encoding=encoding)

File "C:\Users\NEC-PCuser\anaconda3\lib\site-packages\numpy\lib\_datasource.py", line 269, in open
return ds.open(path, mode, encoding=encoding, newline=newline)

File "C:\Users\NEC-PCuser\anaconda3\lib\site-packages\numpy\lib\_datasource.py", line 623, in open
raise IOError("%s not found." % path)
グラフをプロットしたらこのようなエラーが出ました。解決方法を教えてください
0419デフォルトの名無しさん
垢版 |
2020/08/05(水) 12:44:19.03ID:L/0IIDMF
> お前は毎朝起きるたびに俺に負けたことを思い出すよ^^

あー、ホンッとに思い出すなあ(笑)
キチガイの嘘つきの低レベルFランの、
朝鮮ゴキブリBot君は、
チョン独特の「なにもできないけど俺のほうがジャップより偉い!」的な
ことはよーくわかったよ。
ホントなにもできない朝鮮ゴキブリBot君!

クソチョンw

Pythonさえろくにできないバカチョンのくせに
できるとほざくクソチョンw

日本で強姦と窃盗を繰り返す
犯罪者在日のクソチョンw
0421デフォルトの名無しさん
垢版 |
2020/08/05(水) 13:08:50.41ID:IZQzbQjk
>>417
1.Spyderを1回でも起動するとホームフォルダに「.spyder-py3」というフォルダができています。
Windowsの方は、ご自分のデフォルトのホームフォルダに「.spyder-py3」ができていることがわかります。
OSXの方は、ホームフォルダ直下に、不可視フォルダとして存在しています(見えません)。Finderの「移動」メニュー→「フォルダへ移動」をクリックして、「フォルダの場所を入力」に「.spyder-py3」と入力し、Returnキーを入力します。
2.このフォルダの中に、「spyder.lock」というファイルを探してください。このロックファイルは通常Spyderの起動時に自動的に作成され、終了時に自動的に消去されます。ところが、何らかの理由でこれが残ってしまった場合、spyderを新たに起動できなくなります。
3.spyder.lockをゴミ箱に入れて削除します。
4.再びspyderの起動をおこなってください。
0424デフォルトの名無しさん
垢版 |
2020/08/05(水) 13:51:58.05ID:xp5DSzK/
>>403
n行目のリストにlists[n]でアクセスできれば十分だと思うんだけど
どうしてそれぞれの行にわざわざ変数名を付けたいの?
0425デフォルトの名無しさん
垢版 |
2020/08/05(水) 14:20:17.00ID:LSc+X1IL
>>424
webからpytonで取得したデータをcsvかxmlで出力して、
他のデータと合わせて処理したいというのが今の狙いです。
今の所excelで最終的に処理しようと思っていますが、もう少し勉強しないとそのアプローチが正しいのかもわからないです。

プログラム自体完全初心者で、初めて1週間程度なので分かっていない部分が非常に多いことは自覚してます。
pandaとかnumpyとか色々あるようですが、その辺りが理解できれば別のアプローチを考えるかもしれません。
0426デフォルトの名無しさん
垢版 |
2020/08/05(水) 14:23:23.58ID:LSc+X1IL
質問にキチンと答えられていなかったので補足すると、
csvで出力した場合に他のデータとマージしたりする時に、
各行ごとに順番で名前がついていれば処理しやすいと思った、というのが理由です。

根本的な発想が間違っている可能性もありますが、その点は申し訳ないです。
0427デフォルトの名無しさん
垢版 |
2020/08/05(水) 14:31:36.03ID:YFT9R2Ox
単純に順番でなのであれば、>>424が言う様に2次元配列でいいと思う
>>> list=[["a","b","c"],[0,1,2],["あ","い","う"]]
>>> list[0]
['a', 'b', 'c']
>>> list[1][1]
1
0428デフォルトの名無しさん
垢版 |
2020/08/05(水) 14:38:49.57ID:pA7ncT8x
>>426
変数名そのものを変数で定義したり外部に出すのはとてもむずかしい
(できなくはないが普通はやらないので特別な方法をとる必要がある)
dictを使うのが正解で
それならitems()で変数名と中身の両方にアクセスできる
0429デフォルトの名無しさん
垢版 |
2020/08/05(水) 14:52:44.05ID:pA7ncT8x
変数名っていうかキーね
まぁ普通はそういう変数を変数で命名するのはpython以外の言語でもしない
0430デフォルトの名無しさん
垢版 |
2020/08/05(水) 14:55:15.13ID:LSc+X1IL
皆様、色々教えて頂きありがとうございます。

>まぁ普通はそういう変数を変数で命名するのはpython以外の言語でもしない

なるほど。
それでも世の中うまく回ってるってことは、私みたいなアプローチをする必要がないんでしょうね。
辞書とか多次元リストを試してみます。ありがとうございました。
0434デフォルトの名無しさん
垢版 |
2020/08/05(水) 15:10:18.46ID:xp5DSzK/
>>426
そういう理由であれば変数名じゃなく値として行番号を持つデータ構造を選ぶか
csvに出力するときにlists[n]のインデックス値を行番号として出力するようにすればいい

変数名は入れ物の名前で
基本的にプログラムに固定値として書く(ハードコーディングする)ものなので
動的に変わるような値は変数名にはしない
(メタプログラミングとかやや特殊な使い方をしたい場合は除いて)
0435デフォルトの名無しさん
垢版 |
2020/08/05(水) 15:32:35.53ID:YFT9R2Ox
しかし初めて1週間にしてはやろうとしてることがハイレベルだな。
才能あるんじゃない?
0436デフォルトの名無しさん
垢版 |
2020/08/05(水) 16:17:41.42ID:zJw940E0
conda activate "C:\Users\takashi ishida\Anaconda3"
conda : 用語 'conda' は、コマンドレット、関数、スクリプト ファイル、または操作可能なプログラムの名前として認識
されません。名前が正しく記述されていることを確認し、パスが含まれている場合はそのパスが正しいことを確認してから
、再試行してください。
0437デフォルトの名無しさん
垢版 |
2020/08/05(水) 16:19:36.96ID:zJw940E0
>>436
すいません。途中で送信しました。

anacondaのvscodeで開発したプログラムを他で実行しようとするとこういうエラーがでます。
condaコマンドって使った覚えがないのですが・・・。
0439デフォルトの名無しさん
垢版 |
2020/08/05(水) 19:32:40.11ID:LSc+X1IL
>>435
才能があるとは思わないですが、面白さにハマって一気に勉強してます。
あと10年早くプログラミング開始してれば絶対にエンジニアに転職してたと思います。
キチンと使えるようになれば相当色んなことが出来ますね。
暇つぶしにゲームとかやってないでpythonやってりゃ良かった・・・
0440デフォルトの名無しさん
垢版 |
2020/08/05(水) 19:47:32.85ID:v2dPmWiH
>>392
既に米付いてるけどもうひとつ
Button1.bind("<button1-1>", lambda : print('click'))
0441デフォルトの名無しさん
垢版 |
2020/08/05(水) 20:17:47.98ID:XsPNeg0Z
>>436-437
「他」とやらに
.pyだけもってきていて
anaconda入ってないとかいうオチじゃねーの?

>>439
オラも
暇つぶしにプログラミングなんてしてないで
ボカロの調教か3Dモデリングしてればよかったとか
そも建築学科いってればとか
いろいろ思うだーよ
0442デフォルトの名無しさん
垢版 |
2020/08/06(木) 12:59:02.85ID:VbLHuZhq
> お前は毎朝起きるたびに俺に負けたことを思い出すよ^^

あー、ホンッとに思い出すなあ(笑)
キチガイの嘘つきの低レベルFランの、
朝鮮ゴキブリBot君は、
チョン独特の「なにもできないけど俺のほうがジャップより偉い!」的な
ことはよーくわかったよ。
ホントなにもできない朝鮮ゴキブリBot君!

クソチョンw

Pythonさえろくにできないバカチョンのくせに
できるとほざくクソチョンw

日本で強姦と窃盗を繰り返す
犯罪者在日のクソチョンw
0443デフォルトの名無しさん
垢版 |
2020/08/06(木) 19:46:10.11ID:9CykuhS+
文字列を整形するスクリプトをいくつか使っているんですが
手軽に使いたいので整形前の文字列をinputで入力するようにしています
でも文字数に制限があるらしく長い文字列だとエラーになってしまいます
やっぱり横着しないでファイルから読まないとダメですか?
0444デフォルトの名無しさん
垢版 |
2020/08/06(木) 19:50:18.35ID:7L1cCHwV
>>443
限界数の文字列をまず受け取る
しかるのち
とった分をhogeみたいなのに代入しておいて
続きを入れろと促すメッセージを出し、
受け取ったらhogeに足す。
(以下略)

途中で打ち間違えたら困るので、普通にファイルから受け取るほうがいいぞ
0445デフォルトの名無しさん
垢版 |
2020/08/06(木) 19:52:43.52ID:9CykuhS+
>>444
なるほど!と一瞬思ったけど
文字列が限界突破してるかどうかの判断はどうやるんでしょう?
0447デフォルトの名無しさん
垢版 |
2020/08/06(木) 22:33:44.38ID:u+7LtLeC
input使うほうがめんどくね?

for line in sys.stdin:
print(line)

data = sys.stdin.readlines()

data = sys.stdin.read()
0448デフォルトの名無しさん
垢版 |
2020/08/06(木) 22:40:15.88ID:9CykuhS+
俺氏のレベルが低すぎてわからなかったが
限界のちょい前で区切れば良いのか
これはちょっと時間があったらやってみようと思う
ありがとう

>>447
個人的にはスクリプトをダブルクリックしてプロンプトに右クリック→エンターが楽だな
テキストファイルを編集するのが地味に面倒い
0449デフォルトの名無しさん
垢版 |
2020/08/07(金) 02:47:23.95ID:FY0CqvZ3
面倒くさいからクリップボードにコピーしたあと
pyperclipでクリップボードを読み込んでそのまま処理させてる
0452デフォルトの名無しさん
垢版 |
2020/08/07(金) 10:05:23.22ID:5Voyvt5w
というかpythonってjavascriptで言うところのtextareaみたいなのないの?
だったらブラウザのdriver使って入力するとか
そもそもtextエディタのdriverがあったりして
0454デフォルトの名無しさん
垢版 |
2020/08/07(金) 11:12:59.46ID:a/GqHoW6
>>452
textareaはHTMLだろう
ブラウザのdriverってなんだよ?
そもそもtextエディタのdriverとか
ちょと何言ってるかわかんない
0455デフォルトの名無しさん
垢版 |
2020/08/07(金) 13:55:42.48
>>453
そうなの?
数値とかデータだけ収集したいならそれでいいけど
文字列を整形するってなると、どこかのサイトからコピペみたいな用途もあるかな、と

>>454
たしかに、htmlタグだった
chromeドライバーとか、使い方の変数もdriverってなってるしdriverって言っていいかなって。
driver.get("index.html")みたいにして、テキストエリアに挿入
pythonで受け取って処理、みたいなことができると思った
というか既存ウェブサービスであれこれしたいときは普通に使ってるし
0456デフォルトの名無しさん
垢版 |
2020/08/07(金) 18:26:19.71ID:KSWhJGwQ
>>455 自動化のRPA Selenium のドライバーとかと混乱してない?

driver.get ってSelenium の機能じゃないの?

Python でもSelenium は使えるよ。
0457デフォルトの名無しさん
垢版 |
2020/08/07(金) 19:52:25.40
>>456
>Selenium
うん、もちろんそうだけど。。
Seleniumでchromeドライバ読み込んで
>>443
スクリプトをダブルクリック → driver.get("自分で用意したtextarea.html")
 → テキストエリアに右クリック(文字列コピペ)
 → pythonが変更を感知して文字列を読み取る
 → 文字列成形処理(textarea.htmlで何かしらの操作をやってもいい)
 → ウィンドウclose
みたいにすれば文字数制限なしの右クリック(コピペ?)→エンター必要なしのお手軽inputの代わりになるのでは、ってこと
0458デフォルトの名無しさん
垢版 |
2020/08/07(金) 20:11:00.28ID:mKqTfwbZ
>>457
おまえの過去レスから
なぜそこまでエスパーしろと
おれらに要求するんだwww
(・∀・)カエレ!!!
0460デフォルトの名無しさん
垢版 |
2020/08/07(金) 20:51:13.44ID:R6EkH4Oi
inputってOSとかターミナルに依存せんの?
その1024っていうのも文字数なのかバイト数なのかよくわからんし。
いままで意識したことなかったけど、意外に短かいもんだな。
0461デフォルトの名無しさん
垢版 |
2020/08/07(金) 23:42:19.82ID:TzYKRTqH
漏れは、Ruby で、クリップボード経由で、文字列を変換している

さらに、バッチファイルに、ruby .\script.rb と書いて、
ダブルクリックで、そのプログラムを起動できるようにしている

# クリップボード内の複数行文字列の、各行の先頭・末尾から、
# 連続する空白類を除去して、クリップボードに入れる

str = `powershell Get-Clipboard`
str.encode! Encoding::UTF_8, Encoding::CP932 # UTF_8 へ変換

ary = str.each_line.map( &:strip ) # 連続する空白類を除去する

IO.popen( 'clip', 'w:cp932' ) do | clip | # CP932 へ戻す
clip.print( ary.join "\n" )
end
0462デフォルトの名無しさん
垢版 |
2020/08/08(土) 11:27:43.76ID:noFfmCPy
>>452
tkinter
0463デフォルトの名無しさん
垢版 |
2020/08/08(土) 15:48:54.48
>>462
さっそくやってみた 良いね

from tkinter import *
root = Tk()
root.geometry('240x120')
e = Entry(root, validate="key", validatecommand=(root.register(lambda p:[print(''.join(p.split())),root.quit()]), '%P'))
e.grid()
root.mainloop()
0464デフォルトの名無しさん
垢版 |
2020/08/08(土) 16:54:46.34ID:jNP2OM4q
https://murashun.jp/blog/20200113-51.html#chapter-3
フォルダ名の一覧を取得したいのですが、ファイル一覧を取得してからフィルターをかけるしかないのでしょうか?
4行目なんですが、このcmdライクな書き方が良くわからないのです。
0465デフォルトの名無しさん
垢版 |
2020/08/08(土) 16:57:20.42ID:jNP2OM4q
f for f とは何でしょうか?
↑牡蠣忘れました
0466デフォルトの名無しさん
垢版 |
2020/08/08(土) 17:11:25.36
>>465
内包表記
[ ”条件1がTrueのとき” for f in files if "条件1" ]
else使いたいときは書き方が変わってifが前にくる・・
[ ”条件1がTrueのとき” if "条件1" else "条件1がFalseのとき" for f in files ]


files = ["a","b","c","d"]
#条件1=Trueだったとき
print( [ "条件1がTrueのとき f = "+f for f in files if True ] )
#条件1=False だったとき
print( [ "条件1がTrueのとき f = "+f if False else "条件1がFalseのとき f = "+f for f in files ] )
0467デフォルトの名無しさん
垢版 |
2020/08/08(土) 19:28:37.83ID:JWEyeEm5
リスト内包表記までは便利だけどifに複数条件からめるとかえってややこしくなるので複数行にしてる
タプルのリストの重複チェックとかは定型文的に使ってるわ
0468デフォルトの名無しさん
垢版 |
2020/08/08(土) 19:45:59.56ID:jNP2OM4q
改造してみます
ありがとう
リネームに使いたいです
0469デフォルトの名無しさん
垢版 |
2020/08/08(土) 20:27:19.81ID:WWf5PMr4
リスト内包表記の方がfor文の処理速度が速くなるらしいけど読みづらすぎ&書きづらすぎるわ
リスト内包表記を使わずに速度を処理速度を速くする方法を作って欲しい
0470デフォルトの名無しさん
垢版 |
2020/08/08(土) 20:34:03.26ID:jNP2OM4q
読みづらいのでやめときます
0471デフォルトの名無しさん
垢版 |
2020/08/08(土) 21:25:03.87ID:PbNRKPU5
そんな主体性がないことでは困る
0472デフォルトの名無しさん
垢版 |
2020/08/09(日) 02:01:57.03
見慣れの部分もあるだろうけど明らかに見難いと思う
ただ結果的に何が出力されるんだ?
という部分に着目し簡潔に書く、そのために(無駄を省いたり関数にしたりして)
工夫せざるを得ない状況を作り出すための方法としてはありかも
0473デフォルトの名無しさん
垢版 |
2020/08/09(日) 10:54:15.87ID:/x2pn//m
組み込み関数を使うといい
0474デフォルトの名無しさん
垢版 |
2020/08/09(日) 11:21:50.60ID:rlvW70Ue
pandasで読みん込んだテキストファイルの先頭から指定した行まで削除は出来たのですが、最後から指定した数行だけ消すやり方がよう、分かりません

行数がころころ変わるのでrangeでは消せないのです

お知恵下さい
0476デフォルトの名無しさん
垢版 |
2020/08/09(日) 12:28:45.38ID:G1el0n+S
globで取得したファイルのリストの最初のファイルを取得するにはどうしたらいいでしょうか?

file = glob.glob("fold/*")
for i in file:
print(file[i])
TypeError: list indices must be integers or slices, not str
こういうエラーが出ますが、fileはリストではないのですか?
0477デフォルトの名無しさん
垢版 |
2020/08/09(日) 12:31:25.41ID:G1el0n+S
file = ["one","two","three"]
for i in len(file):
print(file[i])

テスト用に作ってみましたが、これだとnot iterableになります
iが繰り返しに使えないとはどういうことでしょうか
インデックスは繰り返せるはずですが、、、
0479デフォルトの名無しさん
垢版 |
2020/08/09(日) 12:39:36.94ID:JXdOVZ/U
>>476
リストをループすると、iにはイテレーターじゃなくて、リストの中身が入る
file = glob.glob("fold/*")
print(file)
for i in file:
print(i)
実行j結果
['fold\\aaa', 'fold\\bbb']
fold\aaa
fold\bbb

だからfile[i]にすると、文字列を使ってリストにアクセスしようとするからエラーになる
0480デフォルトの名無しさん
垢版 |
2020/08/09(日) 12:46:15.61ID:JXdOVZ/U
>>477
これはPythonの記法的な問題
for i in 3みたいな書き方は出来ない
エラーメッセージでTypeError: 'int' object is not iterableって書いてある通り

file[0]、file[1]、file[2]みたいにアクセスしたい場合は>>479の書き方にするか
rangeを使う
file = ["one","two","three"]
for i in range(3):
print(file[i])

実行結果
one
two
three
0481デフォルトの名無しさん
垢版 |
2020/08/09(日) 14:55:41.57
さらにenumerateも便利、同時にインデックスとれる

files = ["one","two","three"]
for i,n in enumerate(files):
_print(i,n)

>>>実行結果
0 one
1 two
2 three
0482デフォルトの名無しさん
垢版 |
2020/08/09(日) 18:18:04.95ID:G1el0n+S
↑ありがとうございました
インデックスではないんですね
range(len(file))を使いますです
0483デフォルトの名無しさん
垢版 |
2020/08/09(日) 18:55:14.84ID:TCh4WBtq
超初心者スレとはいえ、ちょっとこれは酷すぎるだろ
知的障害を疑うレベルだわ
0484デフォルトの名無しさん
垢版 |
2020/08/09(日) 19:10:05.24ID:/x2pn//m
下手な教え方するより一回チュートリアルやらせたほうが、結果的には近道になるパターン
0485デフォルトの名無しさん
垢版 |
2020/08/09(日) 19:18:43.62ID:xLYoDobK
>>469
入れ子になってたりタプルで複数の値を渡してたりしたら読みづらいときもあるけど、
慣れたら別に読み辛くないよ。
読み辛いなと思ったらforの前に改行を入れてみるとわかりやすいと思う
0486デフォルトの名無しさん
垢版 |
2020/08/09(日) 19:51:17.39
.py実行したら出てくるcmdやターミナル画面ってあるけど
これをtkinterみたいなGUIウインドウの中に入れたり(そう見えてるように重ねたり)追従させたりできる?
tkinterのウインドウつまんで動かす時、一緒にターミナル画面も動いてきたらいいのにと思ったんだが
0487デフォルトの名無しさん
垢版 |
2020/08/09(日) 21:36:20.00ID:G1el0n+S
pathlibをインポートするとglobはインポートしなくていいのでしょうか
モジュール同士の継承関係がわからないですが、参考ページありませんか?
0489デフォルトの名無しさん
垢版 |
2020/08/09(日) 22:23:18.94
>>487
何をしたいかに依るのでは
from pathlib import *
#実行する.pyと同じ階層のファイルとディレクトリ一覧取得
#str()でファイルやディレクトリの絶対パスの文字列を取得できる
print( [ str(p) for p in Path().iterdir() ] )

#つまりその文字列を扱いフィルターをかけることもできる
#ファイルネーム・ディレクトリネームの文字数が20以上だけフィルタリング
print( [ str(p) for p in Path().iterdir() if len(p.name) > 20 ] )
0490デフォルトの名無しさん
垢版 |
2020/08/09(日) 23:07:31.69ID:AwKuV539
>>487
importするのに通常は依存継承関係とか余計な事は考えなくていい
ファイルが違えばスコープも違うのだから必要なモジュールならとにかくimportすればいいだけ
0492デフォルトの名無しさん
垢版 |
2020/08/10(月) 10:44:09.54ID:rTlZ13Bm
>>489
>>490
了解しました
0493デフォルトの名無しさん
垢版 |
2020/08/10(月) 11:19:34.28ID:mxDHCoDt
xの値に反比例して1から0まで直線的に減少していく値yが入った

value_y[x]

があって、家などの画像の上に、value_y[x]に比例したピクセル値を持つグレー画像を重ね合わせて表示させたいと思っています。
(左端はグレーで家は見えなくて、右側に行くにつれて段々とグレーが薄くなって家の画像が見えてくる感じ)

openCVとか使えば出来るかなとおもうのですが、重ね合わせようのグレー画像のうまい作り方があったら教えて下さい。
0494デフォルトの名無しさん
垢版 |
2020/08/10(月) 11:58:33.01ID:rTlZ13Bm
イテレータとリストと配列の違いってなんでしょうか?
かんたんな例え、はありませんかね、、、
0496デフォルトの名無しさん
垢版 |
2020/08/10(月) 12:20:38.32ID:gyMnY3Cu
>>493
なぜPythonでやる必要があるんですか
GIMPやINKSCAPEの使い方覚えた方がいいんじゃない?
>>494
イテレータは反復子現在地ポインタ
リストはインデックス番号のある配列の一種
配列は並べられた複数の箱
0497デフォルトの名無しさん
垢版 |
2020/08/10(月) 12:22:09.41ID:wInlBSoO
>>486
.pyw
0498デフォルトの名無しさん
垢版 |
2020/08/10(月) 12:43:52.91ID:mxDHCoDt
>>496
pythonで数値計算したあとの出力なので出来ればそのままpythonでとおもったけど結構めんどくさそうですね・・・。
0499デフォルトの名無しさん
垢版 |
2020/08/10(月) 12:44:59.38ID:mxDHCoDt
for x in range(width):
span=(width-x)
if span>10:
span=10
fig.axvspan(x, x+span, color="red", alpha=float(lr_y[x]/10))


span=(width-x)
if span>10:
span=10

のところが冗長な気がするのですが、一行でうまく記述できないでしょうか?
0500デフォルトの名無しさん
垢版 |
2020/08/10(月) 12:59:00.61ID:eW2lnGgt
Opencvで
画素ごとに画素値舐めてってyの値に比例して画素値減衰させればいいんじゃないの?
0501デフォルトの名無しさん
垢版 |
2020/08/10(月) 14:00:18.30ID:nxGfQCUO
for x in range(width):
end = min(width, x + 10)
fig.axvspan(x, end, color="red", alpha=float(lr_y[x]/10))
0502デフォルトの名無しさん
垢版 |
2020/08/10(月) 15:04:07.26ID:JXIo//1S
BeautifulSoupでスクレイピングやったらうまくいったけど
10ページ分やろうとしてforで回したら
どうやら非同期(同時に)10ページ接続してる気がする
1ページ目終わったら(+sleep)2ページ目
ってやろうと思うけど、javascriptのjqueryでいう$.ajaxみたいなやつ教えてください
0503デフォルトの名無しさん
垢版 |
2020/08/10(月) 15:22:40.40ID:JXIo//1S
と、思って改めてやったらどうやら接続が早すぎて同時接続してるように見えたっぽい
自己解決? お騒がせしました
sleepだけでよさそうですね
0509デフォルトの名無しさん
垢版 |
2020/08/10(月) 20:04:01.05
>>506
ちなみにスクレイピングするときの無能有能の線引きみたいなものは?
もちろんAPIあるとことかスクレイピング禁止のとこでやるのは問題外として
0510デフォルトの名無しさん
垢版 |
2020/08/10(月) 20:06:48.77
最近?だと図書館だかでスクレイピングしてた人が開示されてたけど
あれ結局どうなったんだろう
当時はめちゃくちゃ失笑されてたけど
もちろん図書館側が
0511デフォルトの名無しさん
垢版 |
2020/08/10(月) 20:09:48.59ID:sEIvZmCR
スクレイピングの解説してる記事読むと、アクセスの間隔は1秒位は開けましょうとか言ってるけど、
どれくらいの頻度でアクセスしていいかなんてそのサイト次第だから。
自分はバン食らった後で利用規約読んで真っ青になっちまったよ。
0513デフォルトの名無しさん
垢版 |
2020/08/10(月) 20:17:10.93
まぁノーログVPNでもかましとけば表沙汰になってない程度のことってのがなんとも感慨深いですな
0515◆QZaw55cn4c
垢版 |
2020/08/10(月) 20:28:02.38ID:JYoLJZbs
>>510
岡崎市立中央図書館事件ですか
昨今のコロナ騒動でつくづくと思うのですが、技術的な事実と意思決定を行うものとの間隙が広すぎるのが、いろんな点で問題を複雑にしてしまっているのが最近の事例ですね
私は図書館側も責めることができません、だって図書館側の誰一人として、この件の技術的事実を当時も理解できなかったろうし、将来の時点においての理解可能性も期待できませんから
0516デフォルトの名無しさん
垢版 |
2020/08/10(月) 20:28:23.82ID:e/hT02ld
例の図書館の件、実際に業務に支障をきたすようなレベルだったんだろうか。
それなら図書館の言い分にも理があるかもしれない・・・

とか思って調べたら、「1秒に1アクセス程度に調整」だったのか・・・
0517◆QZaw55cn4c
垢版 |
2020/08/10(月) 20:32:31.04ID:JYoLJZbs
>>516
業務に支障はあったらしいですよ、プログラム側がバグっていたから‥‥
0518デフォルトの名無しさん
垢版 |
2020/08/10(月) 20:34:01.63ID:epTxOZiR
>>509
まあ「加減」ってやつを常識の範囲でコントロールするかどうかだな。アホは加減を知らん。
0519デフォルトの名無しさん
垢版 |
2020/08/10(月) 20:36:21.34ID:epTxOZiR
正確には加減を加える方法を知らんから恐ろしいコードをそのまま実行してしまう。
0520デフォルトの名無しさん
垢版 |
2020/08/10(月) 20:38:59.23ID:e/hT02ld
こっちが常識的に振る舞っているつもりでも、
相手が変な人かもしれないというリスクは常に存在するわけだ。
0521デフォルトの名無しさん
垢版 |
2020/08/10(月) 20:41:52.13ID:oc0Vxq0a
一般的には程度の低いバカの集団を相手にしてると思って間違いない
わたくしに比べれば他人の半分はアホだ
そういうのが相手だ

そういうノータリンに技術的な話は全く通じない
お涙頂戴の情緒的なお話しか通じない
0522◆QZaw55cn4c
垢版 |
2020/08/10(月) 20:42:48.60ID:JYoLJZbs
>>518
真のアホなのはスクレイピング側ではなくて、三菱電機側なのでは?
0523デフォルトの名無しさん
垢版 |
2020/08/10(月) 20:43:31.92
>>502
・10ページ程度
・1ページずつ
・sleep挟む
慎重かつコントロールしようとしてるけど
それに対して「加減を知らん」ってのが今一わからんな
ようするに
>Dos攻撃とみなされて裁判沙汰
って言いたいだけでそれこそ加減を忘れて、説教したかっただけでは
0526◆QZaw55cn4c
垢版 |
2020/08/10(月) 20:55:49.15ID:JYoLJZbs
>>524
その robot.txt は「結果的に国立国会図書館のクローラも受け入れを拒否しており違法状態となっていた」そうですよね…
0527デフォルトの名無しさん
垢版 |
2020/08/10(月) 22:10:13.00ID:rTlZ13Bm
パスの指定方法を教えて下さい
txtファイル一覧を取得したいです
pathlib.Path("*").glob("*.txt")
これだと取得出来ていないようです
フォルダ部分のアスタリスクが良くないようです
fold1
├fold1-1.txt
└fold1-2.txt
fold2
├fold2-1.txt
└fold2-2.txt
0528デフォルトの名無しさん
垢版 |
2020/08/10(月) 22:28:15.66ID:rTlZ13Bm
↑解決したどす
0529デフォルトの名無しさん
垢版 |
2020/08/10(月) 22:33:29.80ID:b58AXMKw
君さぁ、一連のループ処理の質問してる人と同じ人?
pathlibの公式ドキュメント読んだ上でその質問なの?
https://docs.python.org/ja/3/library/pathlib.html
0530デフォルトの名無しさん
垢版 |
2020/08/10(月) 22:51:23.37
そんなもん読むよりぐぐったり聞いたほうが早い(読むなとは言ってない)
ソースコード読みたくなったときにドキュメントを全部読むと良いと思う
全部読んだ人は読むべき場所だけをわかってる
全部読んだことの無い人は読む必要のないところを知らない
0531デフォルトの名無しさん
垢版 |
2020/08/10(月) 22:55:48.20
まぁ初心者でpathlib程度なら読むだけなら数時間もかからないだろうが
よくよく質問とかを見ればpathlibというよりもpythonの文法やら表記法で苦戦してるって感じじゃないか
0532デフォルトの名無しさん
垢版 |
2020/08/10(月) 23:13:59.08ID:PbB9rIkO
Pythonは公式ドキュメントがクソだからね
初心者には厳しいよ
逆引き的なサイトを見るほうが賢い
0533デフォルトの名無しさん
垢版 |
2020/08/11(火) 05:28:50.84ID:D2zXE6xI
ステップ関数とシグモイド関数とLeRU関数を一つのグラフにするやり方がわからないです
fig.savefig()
で保存してpreviewをしても真っ白でした
0534デフォルトの名無しさん
垢版 |
2020/08/11(火) 06:09:26.87ID:x3iAuc4F
()
はすべて関数でしょうか?
0537デフォルトの名無しさん
垢版 |
2020/08/11(火) 09:40:20.94ID:lpYV++WD
> お前は毎朝起きるたびに俺に負けたことを思い出すよ^^

あー、ホンッとに思い出すなあ(笑)
キチガイの嘘つきの低レベルFランの、
朝鮮ゴキブリBot君は、
チョン独特の「なにもできないけど俺のほうがジャップより偉い!」的な
ことはよーくわかったよ。
ホントなにもできない朝鮮ゴキブリBot君!

クソチョンw

Pythonさえろくにできないバカチョンのくせに
できるとほざくクソチョンw

日本で強姦と窃盗を繰り返す
犯罪者在日のクソチョンw
0538デフォルトの名無しさん
垢版 |
2020/08/11(火) 09:48:14.19ID:B3vzQThI
>> 532
これなぁ
チュートリアルはいい出来だと思うが、リファレンスとしては本当にひどい
0539デフォルトの名無しさん
垢版 |
2020/08/11(火) 09:57:17.26
ファイルの書き込みがダブルブッキングになりそうなときっていい感じに勝手にpython側で処理してくれるの?
0541デフォルトの名無しさん
垢版 |
2020/08/11(火) 10:10:39.94
>>540
そもそもテストの仕方がわからないけどこれでええんやろか
with open('hoge.txt', mode='w') as f:
f.write('a')
with open('hoge.txt', mode='w') as f:
f.write('b')
with open('hoge.txt') as f:
print(f.read())

たしかにbだけしか更新されてなかった・・
つまりは同じファイルをアッチやコッチで更新してたときに
with open閉じるまでに処理が重なって同時更新した場合は、
後が優先され前のデータは書き込みできていないってことかー・・
0542デフォルトの名無しさん
垢版 |
2020/08/11(火) 10:34:21.08
と、おもったら上書きモード"w"になってただけだった
"a"だと普通に追記になったわ
上書き書き込み、というより、追記
がやりたいことだった >>539
追記のときもwith openがほぼ同時に処理されるなんてことはあるのだろうか
0543デフォルトの名無しさん
垢版 |
2020/08/11(火) 10:40:31.12ID:x3iAuc4F
モジュールとクラスでは、モジュールのほうが大きいんですよね?
0544デフォルトの名無しさん
垢版 |
2020/08/11(火) 10:45:12.20ID:B3vzQThI
>>542
バッファリングがあるからそんなに単純じゃないよ
同時に処理されるかどうかは確率的にゼロでなければ長期間運用してたら起こる可能性はあるので、その可能性があるならバッティングの処理が必要
一般的な方法としては空のファイルを作ってそのファイルが存在するかどうかで判断する
他の方法としてはsyslogやデータベースを使って、その処理は既存の仕組みで対応する
0545デフォルトの名無しさん
垢版 |
2020/08/11(火) 10:53:49.16
>>544
sleepしてって考えてたけどsleep終わったあとに同時になったら・・とか思ってたが
>空のファイルを作ってそのファイルが存在するか
(これも存在確認後に、ってのがちょっと気になるが)
>syslogやデータベース
なるほど、あまり気にせず既存のを使えるのはいいな

とりあえずは余裕をもって確実に順次実行できれば一般用途では大丈夫ってことかな
あんがと
0546デフォルトの名無しさん
垢版 |
2020/08/11(火) 10:56:58.52
ライブラリ ← パッケージが詰まってる
└パッケージ ← モジュールが詰まってる
 └モジュール ← クラスや関数が詰まってる モジュール名.py
0547デフォルトの名無しさん
垢版 |
2020/08/11(火) 11:03:18.24ID:x3iAuc4F
はい
0548デフォルトの名無しさん
垢版 |
2020/08/11(火) 11:20:56.57ID:Kv91d30/
>>541
withを使えばその動作は予定通りなのでは?
普通にopenしてcloseするまえに処理の競合が起きれば、また違った動作になる
0550デフォルトの名無しさん
垢版 |
2020/08/11(火) 13:08:00.16ID:IdGWSTlI
>>515
安全靴で丸坊主で歩いてるだけで逮捕だもんな
狂ってるわ
0551デフォルトの名無しさん
垢版 |
2020/08/11(火) 13:12:55.63ID:IdGWSTlI
>>544-545
セマフォの役割にはmkdir()が良いってどっかで聴いた
0552デフォルトの名無しさん
垢版 |
2020/08/11(火) 13:24:11.52ID:l01whKN5
perlの時代から有る手法で、ご丁寧なことに、被らないユニークな名前を生成してくれるモジュールまで存在していた
0553デフォルトの名無しさん
垢版 |
2020/08/11(火) 13:27:04.77
>>548
そう
ただ、デバッグのやり方がわからなかった
例えば
with open('hoge.txt', mode='w') as f:
_f.write('a or b')
のa.py、b.py2つ用意して
a.pyとb.pyを同時に何万回も起動実行したりとかすればいいのかなと

>>511
なるほど
0555デフォルトの名無しさん
垢版 |
2020/08/11(火) 13:42:17.84ID:IdGWSTlI
555
0564デフォルトの名無しさん
垢版 |
2020/08/11(火) 17:36:53.27ID:IdGWSTlI
>>562
x の刻みを増やせば解決する
0565デフォルトの名無しさん
垢版 |
2020/08/11(火) 18:45:02.45ID:IUnIyxWQ
今まで一つのファイルにつらつらとコードを書き連ねてたから、分割しようとしたらま〜苦労した
ライブラリとかモジュールとかただコピペして使ってただけだから、from〜importとimportの違いもよくわかってなかった
独学で必要な情報だけつまみ食いしてると基本的なことが抜け落ちてて補完が大変だ…
0566デフォルトの名無しさん
垢版 |
2020/08/11(火) 21:03:59.46ID:7OoR6BUn
フレームワーク使って簡単なウェブアプリでも作ったらいい
構成からテスト、デプロイ等々、一通り網羅できるでしょ
0567デフォルトの名無しさん
垢版 |
2020/08/11(火) 23:41:09.64ID:D+9Pqaiv
https://imgur.com/gOoCERA
https://harigami.jp/cd?hsh=1e894b6f-d705-405e-9987-613886c9e6c5
Pythonとmysql-connector-pythonについてです
MySQLで画像のようなテーブルを作成し、売上が100以上200以下の社員数を営業所ごとにカウントしたいです
sql_1は期待する結果を得られていますが
sql_2やsql_3のようにプレースホルダーを使うと何も取得できません
変数でテーブル名や数値などを動的に使いたいです
プレースホルダーを使ってsql_1を実現する方法を教えて下さい
0568デフォルトの名無しさん
垢版 |
2020/08/12(水) 01:27:49.12ID:t6UQqoiG
> お前は毎朝起きるたびに俺に負けたことを思い出すよ^^

あー、ホンッとに思い出すなあ(笑)
キチガイの嘘つきの低レベルFランの、
朝鮮ゴキブリBot君は、
チョン独特の「なにもできないけど俺のほうがジャップより偉い!」的な
ことはよーくわかったよ。
ホントなにもできない朝鮮ゴキブリBot君!

クソチョンw

Pythonさえろくにできないバカチョンのくせに
できるとほざくクソチョンw

日本で強姦と窃盗を繰り返す
犯罪者在日のクソチョンw
0569デフォルトの名無しさん
垢版 |
2020/08/12(水) 03:11:27.84ID:UVmFgkue
Ruby on Rails なら、

売上.where( 売上: 100..200 ).joins( 社員 ).group( 社員.営業所 ).count

Rails みたいなフレームワークを使わず、自分で文字列で、SQL 文を組み立てると、
SQL injection され放題になるけどw
0570デフォルトの名無しさん
垢版 |
2020/08/12(水) 08:22:16.74
【構成】
hoge_sample
├main.py
└packages
 ├__init__.py
 ├sample01.py
 └sample02.py

【main.py】
from packages import *
a = smpl01(1,2)
print(type(a))
print(a)
#print( dummy(1,2) )

【__init__.py】
from .sample01 import *
__all__ = [ "smpl01", '''"dummy"''' ]

【sample01.py】
from .sample02 import smpl02
def smpl01(a,b): return smpl02(a+b)
def dummy(a,b): return b-a

【sample02.py】
def smpl02(s): return str(s)
0571デフォルトの名無しさん
垢版 |
2020/08/12(水) 08:29:12.14
疑問点 >>570
(1)
【main.py】でpackages内モジュールのクラスや関数を使う時
smpl01という名前を知っていることが前提
せめて「sample01をインポートしましたよ」みたいなマーキングは必要か?
それとも【packages】みたいなパッケージのディレクトリ名から、把握しているのが前提か

(2)
packagesのサードパーティ製モジュールのimportは相対パスで指定している
デバッグのために【sample01.py】を直接起動させると
smple02が使えない
0573デフォルトの名無しさん
垢版 |
2020/08/12(水) 08:47:45.76ID:+7u2t/Rq
まずtableがデータベースのテーブルではなくカラムになっていて紛らわしい
通報されるレベル

cursor.execute()の前にcursor(prepared=True)を実行しているか分からないが大丈夫か?

> cursor.execute(sql_2, (table, table, x_min, table, x_max))

は問題がないように見える

> cursor.execute(sql_2, (table, x_min, x_max))

は%sと引数の数があっていない

> cursor.execute(sql_3, {'table': table, 'x_min': x_min, 'x_max': x_max})

はこの文法が通用するのは比較的新しいPyMySQL(0.7.9以降?)だがバージョンは大丈夫か?

https://github.com/PyMySQL/PyMySQL/blob/73c22c78d14466a5ed8029ef67ca11198234913e/pymysql/cursors.py#L158
0574デフォルトの名無しさん
垢版 |
2020/08/12(水) 09:09:26.38ID:+7u2t/Rq
>>571
(1)は言いたいこと良くが分からない
アスタリスクが全ての元凶のように見えるが・・・
この構成の作り方だと
packages.sample01 … module
packages.sample02 … module
packages.smpl01 … function
がmain.pyからは見える

(2)は相対インポートがパッケージ内でのみ機能する記法だから
直接実行すると相対インポートがエラーになる
回避方法は
python -m packages.sample01
として実行する方法だが、上記の構成で__init__.pyが定義されているため警告はでる
0575デフォルトの名無しさん
垢版 |
2020/08/12(水) 10:01:11.25
>>574
>python -m packages.sample01
d できた
なぜか警告も出なかった

(1)は最初
from packages.sample01 import smpl01
にしてたけど他にも使いたいモジュールが出てきたら
fromなんちゃらの行が【main.py】に延々追加されていくので
それなら__init__.pyの方に纏めておいた方が見やすいのか?と思った
0576デフォルトの名無しさん
垢版 |
2020/08/12(水) 10:13:01.58ID:r3C450gU
>>573
こんな書き方できるのか。知らんかった
mysqlclientで順番に値を放り込む方法しか使ったことないや
0578デフォルトの名無しさん
垢版 |
2020/08/12(水) 13:06:36.68ID:r3C450gU
>>577
カラム名を%sにするとだめみたいよ
置換フィールドで放り込んでやるとうまくいった

sql_4 = "SELECT 社員.営業所, COUNT(売上.売上) " \
      "FROM 社員 LEFT JOIN 売上 " \
      "ON 社員.社員ID = 売上.社員ID" \
      "WHERE {table} BETWEEN %s AND %s " \
      "GROUP BY 社員.営業所".format(table='売上.売上')
0579デフォルトの名無しさん
垢版 |
2020/08/12(水) 13:38:11.01ID:+7u2t/Rq
>>575
python -m packages.sample01
で警告が出るのはpythonのバージョンのせいかも知れない(python3.7では警告が出た)
この方法では
packages/__init__.py
がまず読み込まれ、その後
packages/sample01.py
が実行される
__init__.pyでsample01.pyを読み込んでいるので、sample01.pyは2回読み込まれていることに注意

__init__.pyにまとめることは普通に良くやるしpackages/__init__.pyの中でアスタリスクを使うことも良くやる
ただしmain.pyでアスタリスクを使うのは行儀が悪いように思う
fromナンチャラの行が増えるのが嫌いなら、メモリは食うけど
import packages
とした方が心の健康によさげ
0581デフォルトの名無しさん
垢版 |
2020/08/12(水) 14:15:16.02
>>579
>2回読み込まれ
あーやっぱりそうだったのか なぜか2倍printされるので。。

>ただしmain.pyでアスタリスクを使うのは行儀が悪いよう
なるほど
0583デフォルトの名無しさん
垢版 |
2020/08/12(水) 14:21:32.92ID:q6njxWnQ
実用的でないPythonプログラミングを買いました。
VisualStudio2017とかでできますか?
皆さんオススメの環境を教えてください。
Pythonのバージョンは3.5らしいです。
(まだちゃんと読んでないけど)
0586デフォルトの名無しさん
垢版 |
2020/08/12(水) 15:24:26.55ID:q6njxWnQ
>>584
>>585
有り難みが強い。
参考にさせていただきます。
0587デフォルトの名無しさん
垢版 |
2020/08/13(木) 10:56:33.23ID:0rwjVY3B
イテレータとリストの違いですが、イテレータは処理途中の状態を記録できるという点が違うのでしょうか?
0588デフォルトの名無しさん
垢版 |
2020/08/13(木) 11:27:43.34ID:WWRPvGcb
違う
君が言う後者の機能は generator

リスト は全部メモリに確保されたもの
イテレータ はメモリを占有せずに順番に値を取得
generator は処理途中の状態を記録できる

イテレータの実装に generator が使われているかも知れないが別の概念
0589デフォルトの名無しさん
垢版 |
2020/08/13(木) 11:27:51.35ID:RJ8S/0mc
作り置きと、注文の都度作るかの違い
作り置きは、置き場のスペースが必要
0591デフォルトの名無しさん
垢版 |
2020/08/13(木) 12:28:04.42ID:0rwjVY3B
なるほど、なんとなくわかったです
0592デフォルトの名無しさん
垢版 |
2020/08/13(木) 12:48:37.94ID:BKihMO2y
foo = [1,2,3]
foo_iter = iter(foo)
next(foo_iter) #=> 1
next(foo_iter) #=> 2
next(foo_iter) #=> 3
next(foo_iter) #=> StopIteration

イテレータはnext()が呼ばれたら次の要素を1つ返すオブジェクト
内部でどこまで返したか覚えておく必要があるので状態を記録してるかというと記録してる

for x in foo: って書けば
iter(foo)して、next()を呼んで、得られた値をxに代入して、loop内の処理へ渡してる

ジェネレータは一般的には呼ばれたら1つ1つ値を生成して返す関数でイテレータの一種
ジェネレータではないイテレータは1つ1つ値を生成するんじゃなく
すでに用意されたリストなどから順に値を1つずつ返すもの
なので作り置きから注文の都度1つずつ返すのもイテレータ
0593デフォルトの名無しさん
垢版 |
2020/08/13(木) 13:00:42.76ID:0rwjVY3B
何故pathで取得したパスは、iterdirなどを使ってジェネレータにする必要があるんでしょうか?
ササッとリストでも取得してくれればいいんじゃないですか?

フォルダのファイル一覧を取得する場合、
パス→ジェネレータ生成→リスト化という手順を踏まないといけないみたいです
パス→リスト
でいいような、、
0594デフォルトの名無しさん
垢版 |
2020/08/13(木) 13:05:38.39ID:KaPqduB6
python2 へようこそ
0596デフォルトの名無しさん
垢版 |
2020/08/13(木) 13:13:43.47ID:xFixv4R5
>>593
項目が超巨大になったときにリストの実態返されたら悲しいことになる
ジェネレータなら、あれ?なんかでかいぞ、止めよう、ができる
0597デフォルトの名無しさん
垢版 |
2020/08/13(木) 13:39:30.96ID:0rwjVY3B
>>596
な、なるほど
そこまで巨大なファイルを扱ったことはなかったので、必要性が分からんでした
0598デフォルトの名無しさん
垢版 |
2020/08/13(木) 13:56:32.50ID:CM5c4LB7
やっぱり強制的に教え込むべきだ
業界が先祖返りしてる

計算機プログラムの構造と解釈 第二版
https://sicp.iijlab.net/fulltext/x350.html
0599デフォルトの名無しさん
垢版 |
2020/08/13(木) 14:04:29.87ID:jm0McRWL
>>592
> ジェネレータは一般的には呼ばれたら1つ1つ値を生成して返す関数でイテレータの一種
逆でしょ
「イテレータは、コンテナに含まれる値ひとつひとつに対して走るジェネレータの一種である。」
ハードウェア乱数生成装置から読み取った値を返すジェネレータとか内部で値を保持しないジェネレータとかもある
>>588とかも勘違いしてる
0600デフォルトの名無しさん
垢版 |
2020/08/13(木) 14:28:08.21ID:WYCQl6Jw
>>598
先祖還りって言うか
もう3周目とか4周目だろう
0601デフォルトの名無しさん
垢版 |
2020/08/13(木) 14:31:15.88ID:BKihMO2y
>>599
逆じゃないよ

>「イテレータは、コンテナに含まれる値ひとつひとつに対して走るジェネレータの一種である。」
こういう味方があっても別いいとは思うけど一般的ではない

>ハードウェア乱数生成装置から読み取った値を返すジェネレータとか内部で値を保持しないジェネレータとかもある
yield 乱数生成()で値を返すジェネレータがあったとして
何回yieldしたかとかloop条件を満たしてるかどうかとか
なんらかの状態を内部に保持することになるよね?
0602デフォルトの名無しさん
垢版 |
2020/08/13(木) 14:57:12.58ID:0rwjVY3B
ループの返り値を内包表記を使用して変数に挿れるのと、普通にループで記載する場合では何が違うんでしょうか?後者だとグローバル変数が必要になると思いますけど。
0604デフォルトの名無しさん
垢版 |
2020/08/13(木) 15:11:06.77ID:RDWqdqfD
>>601
> こういう味方があっても別いいとは思うけど一般的ではない
いや、なんの根拠もないお前の定義を一般的と主張されても困るよw
イテレータは必ずジェネレータだけどイテレータでないジェネレータはあるだろ(その例が乱数発生器)

> yield 乱数生成()で値を返すジェネレータがあったとして
> 何回yieldしたかとかloop条件を満たしてるかどうかとか
> なんらかの状態を内部に保持することになるよね?
そりゃ、そういうジェネレータならそうだろう…
内部情報を保持しない例に保持する奴持ってきて何を言いたいんだ?
0605デフォルトの名無しさん
垢版 |
2020/08/13(木) 15:27:20.97ID:TgMttUh/
>イテレータは必ずジェネレータだけど

どこからこんな解釈が?
pythonのイテレータはイテレータプロトコルをサポートするオブジェクトのことだし、
ジェネレータは呼ばれたらイテレータを返す関数のことだろ。
0606デフォルトの名無しさん
垢版 |
2020/08/13(木) 15:41:35.50ID:BKihMO2y
>>604
日本語のWikipediaの間違った記載を鵜呑みにしてるっぽいね
https://ja.wikipedia.org/wiki/ジェネレータ_(プログラミング)

英語版も見るといいよ
https://en.wikipedia.org/wiki/Generator_(computer_programming)

疑似乱数生成器(Psuedo Random Number Generator)の名前にジェネレータが含まれてるからといって
それらがプログラミング言語でいうところのジェネレータを使って実装されてるわけじゃないから
0607デフォルトの名無しさん
垢版 |
2020/08/13(木) 15:43:11.84ID:BKihMO2y
>>606
>それらがプログラミング言語でいうところのジェネレータを使って実装されてるわけじゃないから

それらが”すべて”プログラミング言語でいうところのジェネレータを使って実装されてるわけじゃないね
ジェネレータのものもあればそうでないものもあるということ
0608デフォルトの名無しさん
垢版 |
2020/08/13(木) 15:45:42.36ID:hDTlT7Ky
酷いのが居るな
知らないのなら黙ってれば良いのに
0609デフォルトの名無しさん
垢版 |
2020/08/13(木) 16:08:22.81ID:3TUGpUf8
>>605
>イテレータは必ずジェネレータだけど

逆ぅ!

>>> import collections, types
>>> issubclass(types.GeneratorType, collections.Iterator)
True
0610609
垢版 |
2020/08/13(木) 16:21:41.93ID:3TUGpUf8
訂正
>>609>>604へのレスね。
0611デフォルトの名無しさん
垢版 |
2020/08/13(木) 16:34:47.69
tkinterでmainloopする前に無限ループ処理をしたいのですが
無限ループ処理Aをするとmainloop()できない
mainloop()を先に、無限ループ処理Aを後にすると、無限ループ処理Aできない
という板挟みになりました
どうしたら良いのでしょうか
import tkinter as tk
import time
while True:
_print("処理")
_time.sleep(1)
root = tk.TK()
root.mainloop()
0612デフォルトの名無しさん
垢版 |
2020/08/13(木) 16:52:12.14ID:wdeLOLBT
クラスの使い道がわからん
数値や文字を関数に放り込んで値を出して表示する
これだけでやりたいことが全部できてやることがなくなった
0614◆QZaw55cn4c
垢版 |
2020/08/13(木) 17:19:09.07ID:P/jo0Y4p
>>612
そのとおり
クラスなんかなくても何でも書ける

ただしクラスという抽象化手段は、単に書けるという以上のものを目指すときに使う
例えば再利用とか
0615デフォルトの名無しさん
垢版 |
2020/08/13(木) 17:22:35.60ID:CM5c4LB7
>>611
まずはかんたんなアナログ時計から作った方がいい
0616デフォルトの名無しさん
垢版 |
2020/08/13(木) 17:32:17.63
>>613
できました ありがとうございます
ついでにボタンを追加してみたのですが
処理中はなぜかプッシュ感がありませんでした
ボタンクリックしても押し込まれるアニメーションが出てこない(処理が終わった瞬間、処理前に押したときのボタン処理がドバーッと実行される)のですがそういうものなんでしょうか
0618デフォルトの名無しさん
垢版 |
2020/08/13(木) 17:53:26.38ID:DN44Q+/a
何かしらPythonでなければならない理由があるならともかくGUIならC#で作った方が楽じゃないか?
0619デフォルトの名無しさん
垢版 |
2020/08/13(木) 17:56:22.43ID:1iT07aDZ
>>618
ココはPython の布教>>1
0620デフォルトの名無しさん
垢版 |
2020/08/13(木) 18:05:56.78ID:BJex6KXt
>>616
細かい所を拘るなら
PySimpleGUIとか別ライブラリを使うのも手
(tkinter自体は大昔からあるやつだから、モダンな物を作ろうとするとちょっと大変)
0621デフォルトの名無しさん
垢版 |
2020/08/13(木) 18:11:59.85
https://ideone.com/h4QkaK
とりあえずストップウォッチを参考に書いてみましたが
やはりボタンのプッシュ感がありません
なぜでしょうか
明らかにroot.afterの行が原因で止まっているんだろうな、という感じです
0623デフォルトの名無しさん
垢版 |
2020/08/13(木) 18:14:57.99ID:0rwjVY3B
複数フォルダの先頭ファイルのみ取り出すにはどういうロジックにしたらいいんでしょうか?
フォルダのインデックス0を取り出したあと、各々のフォルダの中でファイルのインデックス0を取り出すという手順になるでしょうか
0624デフォルトの名無しさん
垢版 |
2020/08/13(木) 18:15:56.91ID:0rwjVY3B
あ、違いますね。
フォルダのインデックス0という点は間違いです。フォルダ構造です。

フォルダ1
┗ファイル1
┗ファイル2
フォルダ2
┗ファイル3
┗ファイル4
0627デフォルトの名無しさん
垢版 |
2020/08/13(木) 20:42:25.92ID:0rwjVY3B
sortedを使用するので、名前です(´・ω・`)、、、
0628蟻人間 ◆T6xkBnTXz7B0
垢版 |
2020/08/13(木) 20:46:52.26ID:4HMLW5OS
フォルダの一覧を作成。
各フォルダについて最初のファイルを取得して、ファイルパスをリストに追加。
0629デフォルトの名無しさん
垢版 |
2020/08/13(木) 20:58:21.33ID:vQKb1geh
>>587
一般論であれば、まずPythonにおける「リスト」とは
他言語における「配列」を指す

次に、配列とは単なるデータ構造を指し、
その配列の各要素をあれこれ処理するアルゴリズムは「手続き」として定義される
データ構造と手続きが完全に分離されている、これがFORTRAN/COBOLに始まり
C/Pascal/Modulaへと続く1980年代前半までの古典的な「手続き型言語」の流れ

こうした手続き型の流れは、大規模開発における保守性/再利用性の低さから批判を受け、
対処策として注目された概念の一つが「抽象データ」であり、
これはデータ構造の内部詳細を隠蔽し外部に公開された手続きで処理対象をモデル化する
たとえばスタックという抽象データは、内部のデータ構造が配列であっても
リンクドリストであっても構わず、外部に公開されたEmpty/Push/Pop/IsEmptyという
手続きの集合(インターフェイス)だけで定義される

この抽象データという概念を発展させて、反復(ループ)処理すらも抽象化させるという提案が
イテレータ(iterator, 反復子)であり、それが最初に実装されたのがCluと呼ばれる実験的言語になる
まとめると、リスト(=配列)とはデータ構造の一種であり、イテレータとはリストを含む
複合データ構造に関する反復処理に限定して抽象データとしてモデル化した概念である
0630デフォルトの名無しさん
垢版 |
2020/08/13(木) 21:02:29.42ID:0rwjVY3B
>>628
ロジックは最初に日本語化したほうがいいですか?
0632デフォルトの名無しさん
垢版 |
2020/08/13(木) 21:18:06.70
PySimpleGUI調べてみました
圧倒的にコードが見やすくなりました

特徴は、レイアウトを最初にまとめてコーディングして
最後にWhile True:でイベントを監視するところでしょうか。

event, value = window.read()の直前後にprintを挟んでテストしてみましたが
一番最初にそのprintが出力され、次にイベントの処理が出力されました
つまりwindow.read()のところで待機?してるのだと思いますが
その仕組みが今一わからず悶々としています
0633デフォルトの名無しさん
垢版 |
2020/08/13(木) 21:25:29.32ID:vQKb1geh
>>631
リストに対応する英単語は list であり、
同様に、配列に対応する英単語は array(アレイ) または vector(ベクタ) である

何を言いたいのかな?
英語?日本語?言語は関係ないよ
0634デフォルトの名無しさん
垢版 |
2020/08/13(木) 22:05:38.43ID:SL8XbHj+
はじめてpysimpleguiを知ったんだけど、tkinterやqtのラッパーだなんて説明を見つけたけど本当?
公式の英語を読むと、ラッパーなんて記述は見つからないのだが。
0636デフォルトの名無しさん
垢版 |
2020/08/13(木) 23:45:08.41ID:SL8XbHj+
あ、ホントだ。てことは、exe配布時に必要なバッケージはどうなるんだ?
全部?
0637デフォルトの名無しさん
垢版 |
2020/08/14(金) 00:07:27.84ID:SCMnTycc
例えば、メモ帳のパスなら、コマンドプロンプトで確認できる。
上に表示される方が、優先される

where notepad
C:\Windows\System32\notepad.exe
C:\Windows\notepad.exe

同様に、where php とやってみれば?

環境変数パスを知らないような人は、システム環境構築運用なんて、とてもできない
0638637
垢版 |
2020/08/14(金) 00:08:54.53ID:SCMnTycc
>637
誤爆です
0641デフォルトの名無しさん
垢版 |
2020/08/14(金) 02:44:30.33ID:PbBJ4pBD
再帰関数について質問させてください。
どういう順番で処理されているのかよくわからなかったので、
0から10までの数字を足す処理を再帰で書いて、途中のプロセスをprintで出力しようとしました。

https://techiedelight.com/compiler/?PYzg

するとこのような結果が出たのですが、A_10からB_55が二回分printされているのはなぜなのでしょうか。


他のプログラム言語の経験は無く、pythonを始めたばかりです。
変な質問だったらすみません。
0644デフォルトの名無しさん
垢版 |
2020/08/14(金) 03:15:21.63ID:PbBJ4pBD
再帰の件、続けての質問ですみません。

https://techiedelight.com/compiler/?b7CW

さっきと同じ計算なのですが、printの位置を追加しました。

これを見ると、「def の中で if より上の部分だけは最初に処理される」ように見えます。

そこで疑問なのですが、再帰というのはdefを使っている場合だけに可能な処理で、普通に書いた時は再帰処理することはできない、という理解は正しいですか?
0645デフォルトの名無しさん
垢版 |
2020/08/14(金) 05:29:46.15ID:IsZI9WNI
ラムダ式っていうのを使えばdef使わなくても再帰はできる
しかし本質的にはやってることは同じ
0647デフォルトの名無しさん
垢版 |
2020/08/14(金) 06:38:10.15ID:gdj6lSjH
pat = sorted([file.stem for file in foldername.glob("*.txt")])
return pat[0] if pat else None
これはフォルダにあるファイルの一覧を取得していますが、
if pat の部分は何を指定しているのでしょうか?
もしリストであったのなら とは?
0648デフォルトの名無しさん
垢版 |
2020/08/14(金) 07:06:27.95ID:XbgH4NM8
>>647
Pythonで「if 変数名」ときたら
「変数がからっぽ系じゃない場合は」という意味
この場合は
「リストになんかHitした結果がはいってるなら」=foldernameの中にtxtファイルがあれば
0649デフォルトの名無しさん
垢版 |
2020/08/14(金) 07:21:42.11ID:lmu28MG3
この手の暗黙的な書き方は、セキュアじゃないことに気を付けないといけないけどな。

ところで、この場合の角括弧はいらないというか邪魔。
pat = sorted(file.stem for file in foldername.glob("*.txt"))
他に引数がある場合は、丸括弧にする。
pat = sorted((file.stem for file in foldername.glob("*.txt")), reverse=True)
0650デフォルトの名無しさん
垢版 |
2020/08/14(金) 07:34:13.51ID:gdj6lSjH
>>648
trueということですね ありがとうございます
0651デフォルトの名無しさん
垢版 |
2020/08/14(金) 08:37:56.09ID:AaNqGTg5
> お前は毎朝起きるたびに俺に負けたことを思い出すよ^^

あー、ホンッとに思い出すなあ(笑)
キチガイの嘘つきの低レベルFランの、
朝鮮ゴキブリBot君は、
チョン独特の「なにもできないけど俺のほうがジャップより偉い!」的な
ことはよーくわかったよ。
ホントなにもできない朝鮮ゴキブリBot君!

クソチョンw

Pythonさえろくにできないバカチョンのくせに
できるとほざくクソチョンw

日本で強姦と窃盗を繰り返す
犯罪者在日のクソチョンw
0652デフォルトの名無しさん
垢版 |
2020/08/14(金) 11:06:59.37ID:gdj6lSjH
ファイルに連番を使いたいのですが、イテレータからインデックスを取り出す事はできませんか?

import os
import pathlib
target_folder =pathlib.Path(".")

for i in target_folder.iterdir():
os.rename(i,"hoge")
0654デフォルトの名無しさん
垢版 |
2020/08/14(金) 11:39:11.68ID:gdj6lSjH
あい
0655デフォルトの名無しさん
垢版 |
2020/08/14(金) 15:55:46.15ID:gdj6lSjH
import os
import pathlib
target_folder =pathlib.Path(".")


for i, name in enumerate(target_folder.iterdir()):
if name.is_dir():
print(name)
os.rename(name,"hoge"+[i])

フォルダを連番リネームするにはどうしたらいいのでしょうか?
リストにインデックスはつけられないみたいです。
このエラーです
can only concatenate str (not "list") to str
0656デフォルトの名無しさん
垢版 |
2020/08/14(金) 16:15:03.54ID:jPrekU1/
"hoge"+str(i)
"hoge{0}".format(i)
f"hoge{i}"
0657デフォルトの名無しさん
垢版 |
2020/08/14(金) 16:49:21.19ID:gdj6lSjH
str内でインデックス使っていいんですね
ありがとう
0658デフォルトの名無しさん
垢版 |
2020/08/14(金) 18:27:56.58ID:gdj6lSjH
lis = [1,2,3,4,5,6]
for i in lis:
rep = "{0}{1}{2}".format("(" , i , ")")
print(rep)

formatで括弧を付ける場合、これよりかんたんな書き方はあるですか?
0660デフォルトの名無しさん
垢版 |
2020/08/14(金) 18:39:59.80ID:jPrekU1/
rep = "{0}{1}{2}".format("(" , i , ")") の発想がすげーよ。
馬鹿にしているわけではないよ。
0661デフォルトの名無しさん
垢版 |
2020/08/14(金) 18:41:02.22ID:gdj6lSjH
駄目なんですか?
0662デフォルトの名無しさん
垢版 |
2020/08/14(金) 18:46:04.13ID:zY2s9ydf
rep = f'({i})'
0663デフォルトの名無しさん
垢版 |
2020/08/14(金) 18:46:25.97ID:gdj6lSjH
>>659
波括弧になにもない場合は数字は0ということですか?
0667デフォルトの名無しさん
垢版 |
2020/08/14(金) 19:10:30.81ID:gdj6lSjH
どうもです
リファレンスはむずすぎて読めなくて
0670デフォルトの名無しさん
垢版 |
2020/08/14(金) 20:08:24.20ID:gdj6lSjH
読んでませんよ
yagniの法則ってやつがあるじゃないですか
0672デフォルトの名無しさん
垢版 |
2020/08/14(金) 20:38:57.81ID:gdj6lSjH
あっそ
0673デフォルトの名無しさん
垢版 |
2020/08/14(金) 20:40:43.70ID:ZRaURx7c
>>670
yangiの法則自体は正しいが人に聞く時点ですでneeded itなんだからyangiとか言うのはアホすぎる
0674デフォルトの名無しさん
垢版 |
2020/08/14(金) 21:03:39.40ID:BnsOUaV6
>>670
今必要ないものを後に回すのは構わないが、今必要なものをそれと分からずに面倒だからと後回しにするのは愚か者のすること
0675デフォルトの名無しさん
垢版 |
2020/08/14(金) 21:49:33.08ID:gdj6lSjH
>>673
いえ、チュート全部やれと言われたことだと勘違いしてました
0676デフォルトの名無しさん
垢版 |
2020/08/14(金) 22:25:47.50ID:KcsXYi6u
>>670
何その法則?
0677デフォルトの名無しさん
垢版 |
2020/08/14(金) 22:47:13.16ID:SCMnTycc
>>658
Ruby では、"〜" 内で、#{ 式 } を使うことによって、
式の結果を、文字列に変換して埋め込める

ary = [ 1, 2, 3 ]

ary.each { |num| puts "(#{ num })" }

出力
(1)
(2)
(3)
0678デフォルトの名無しさん
垢版 |
2020/08/14(金) 22:53:52.50ID:PbBJ4pBD
pandasっていうのは、大雑把にいうとexcelみたいな操作が出来るっていう理解で良いですか?
0679デフォルトの名無しさん
垢版 |
2020/08/14(金) 23:23:18.20ID:zjwuqJDu
YAGNIの原則は、機能追加の話だろ
(必要になるまで追加しない、無駄な機能は実装しない)

困るまで勉強しない、っていう意味では決してないぞ
0683◆QZaw55cn4c
垢版 |
2020/08/15(土) 00:54:00.92ID:3gqWFA1d
>>679
>困るまで勉強しない

なんだかすごくステキにみえました…
0689デフォルトの名無しさん
垢版 |
2020/08/15(土) 17:35:35.93ID:tl7eyI/S
uだね
0691デフォルトの名無しさん
垢版 |
2020/08/15(土) 23:06:56.48ID:bBp+moLX
このスレでpysimpleguiを知ったのは収穫だった
以前tkinter使ったときうんざりしたので、以来pythonでのGUIアプリは敬遠していた
0692デフォルトの名無しさん
垢版 |
2020/08/16(日) 03:13:42.46ID:03PcCSpR
> お前は毎朝起きるたびに俺に負けたことを思い出すよ^^

あー、ホンッとに思い出すなあ(笑)
キチガイの嘘つきの低レベルFランの、
朝鮮ゴキブリBot君は、
チョン独特の「なにもできないけど俺のほうがジャップより偉い!」的な
ことはよーくわかったよ。
ホントなにもできない朝鮮ゴキブリBot君!

クソチョンw

Pythonさえろくにできないバカチョンのくせに
できるとほざくクソチョンw

日本で強姦と窃盗を繰り返す
犯罪者在日のクソチョンw
0693デフォルトの名無しさん
垢版 |
2020/08/16(日) 03:16:25.85ID:03PcCSpR
朝鮮人は強姦と窃盗しかしない犯罪者
0694デフォルトの名無しさん
垢版 |
2020/08/16(日) 11:20:55.68ID:7Iew54RL
tkinterのメッセージボックスだと最前面するのがちょっとめんどくさいので
メッセージボックスにWindows APIを使ってる
MessageBoxTimeoutWくらい自由度があるといいんだけどな
0695デフォルトの名無しさん
垢版 |
2020/08/16(日) 11:26:24.98ID:ng3yYkoc
自由度が高いモノって面倒臭さも高いんじゃないの
自由度が高くて単純なモノってのは普通は存在しないんじゃない
0696デフォルトの名無しさん
垢版 |
2020/08/16(日) 11:46:55.01ID:7Iew54RL
>>695
デフォルトで使うと、tkinterと変わらない動作
自由度という点では、これに加えて、
アイコンの種類、ボタンの種類、デフォルトボタンの指定、
(ここまではtkinterもできる)
ウィンドウ制御(最前面など)、タイムアウトの有無、その時間などが指定可能

タイムアウトに関しては、ボタンを選択しなければ設定後に指定した値を返すもので、
ドキュメント化されていないAPIなのでいつまで使えるかわからないけど、
XP以降、10になっても同じ動作を確認済み
このタイムアウト、ものすごく便利なので、tkinterでも取り入れてくれないかな
0698デフォルトの名無しさん
垢版 |
2020/08/16(日) 18:01:25.88ID:rKV4lCZM
pyqt5で作ったアプリをpy2appで書き出すときに関する質問です
-Aオプションでエイリアス指定すれば動作するのですが,-Aなしでビルドするとエラーになります
どこに問題があるのでしょうか…?
0699デフォルトの名無しさん
垢版 |
2020/08/16(日) 18:13:50.54ID:43uVw8aV
あたま
0701デフォルトの名無しさん
垢版 |
2020/08/16(日) 20:17:48.61ID:rKV4lCZM
頭悪くてすみません,ようやく解決しました
オプションでPILを指定しなきゃいけなかったみたいです
使ってないのになぜ…?
0703デフォルトの名無しさん
垢版 |
2020/08/17(月) 10:08:48.36ID:JNS55LaW
pythonのexe化って難読化とか暗号化とかされるの?
0704デフォルトの名無しさん
垢版 |
2020/08/17(月) 11:39:44.40ID:p+skW/fD
>>703
Pythonで書かれたものはインタープリタで動かすスクリプトに過ぎないので
OS環境で動かす為にバイナリにコンパイルするんだよ
0707デフォルトの名無しさん
垢版 |
2020/08/17(月) 12:05:36.00ID:frAy30YW
>>703 Python は一度コンパイルされて中間コードになる事を知らないみたいだね。 
.pyc がキャッシュに出来てそれが実行される。
これをまとめてexe化してるだけだから、当然ある程度難読化はされてることになる。

自分でコンパイルしてみたら?

Pythonでコンパイルは可能なのか?やり方をまとめてみた
https://blog.codecamp.jp/programming-python-compile-can-1
0710デフォルトの名無しさん
垢版 |
2020/08/17(月) 22:25:43.15ID:Sqm5hAaO
>>703
されないよ。中間コードその他に変換することは難読化とは言わないし、実際pythonの場合は変数名やdocstringもそのまま残るから、ツールで簡単に元に戻せる
0713デフォルトの名無しさん
垢版 |
2020/08/18(火) 10:28:13.09ID:ZtSNRLAD
PythonNN.dll 以下のサイズにはならんでしょ
0714デフォルトの名無しさん
垢版 |
2020/08/18(火) 11:41:01.45ID:CekSd1r9
Pyodido と言うWebAsembly 上でPythonが動く。
numpyとか色んなライブラリも入ってる。

PythonインタプリタをWebAssemblyへコンパイル、Webブラウザで稼働するPython環境「Pyodide」。Mozillaが開発中
2019年4月19日
https://www.publickey1.jp/blog/19/pythonwebassemblywebpythonpyodidemozilla.html

Mozillaは、WebブラウザでPythonインタプリタや数値計算ライブラリのNumPyなど、Pythonの標準的なデータサイエンス環境をほぼそのまま実行可能にする「Pyodide」(パイオダイドと発音されているようです)を開発中です。
Pyodide
Mozilla Hacksのブログに投稿された記事「Pyodide: Bringing the scientific Python stack to the browser」で、このPyodideの詳細と現状が報告されています。

Pyodideは、データサイエンス環境をWebブラウザ上で実現しようというMozillaのプロジェクト「Iodide(アイオダイド、と発音されているようです)の関連プロジェクト。
Pyodideの最大の特徴は、標準のPythonインタプリタのフル機能をWebブラウザ上で実現しようとしている点にあります。下記はブログから。

Pyodideはフル機能の標準Pythonインタプリタをブラウザ上で提供し、Web APIへのフルアクセスも実現する。

つまりWebブラウザ上でPython言語およびデータサイエンス関連のPythonライブラリ、例えばNumPy、Pandas、Scipy、Matplotlibなどをそのまま使ってプログラミングできて、さらにWebGLのような高速なグラフィック描画なども呼び出せるようにする、というわけです。
以下略
0715デフォルトの名無しさん
垢版 |
2020/08/18(火) 12:37:13.78ID:1N2TKAu+
> お前は毎朝起きるたびに俺に負けたことを思い出すよ^^

あー、ホンッとに思い出すなあ(笑)
キチガイの嘘つきの低レベルFランの、
朝鮮ゴキブリBot君は、
チョン独特の「なにもできないけど俺のほうがジャップより偉い!」的な
ことはよーくわかったよ。
ホントなにもできない朝鮮ゴキブリBot君!

クソチョンw

Pythonさえろくにできないバカチョンのくせに
できるとほざくクソチョンw

日本で強姦と窃盗を繰り返す
犯罪者在日のクソチョンw
0716デフォルトの名無しさん
垢版 |
2020/08/18(火) 12:38:36.50ID:KgEygz2n
実はお手軽にGUIツール作りたいってだけならHSPとかラクなんじゃないでしょうかね
0717デフォルトの名無しさん
垢版 |
2020/08/18(火) 12:45:11.57ID:h5vNCvfY
Tcl/Tk
0718デフォルトの名無しさん
垢版 |
2020/08/18(火) 13:22:12.48ID:nBWkiWUW
トックル・トックって、韓国語っぽいよね。
0719デフォルトの名無しさん
垢版 |
2020/08/18(火) 13:36:07.09ID:h5vNCvfY
土下座は鳩だけで充分です
0721デフォルトの名無しさん
垢版 |
2020/08/18(火) 13:52:18.02ID:pYta9VEC
>>716
Visual Studioが良いと思う

HSPはスレに多い[Highly Sensitive Person]
0722デフォルトの名無しさん
垢版 |
2020/08/18(火) 22:33:29.50ID:tlGDswHk
globに下位フォルダの検索機能はあったでしょうか?
ルートフォルダを起点にして、下位フォルダのファイルを取りたいどす
0724デフォルトの名無しさん
垢版 |
2020/08/18(火) 23:22:17.62ID:OA/+1SVm
初めてさわったのがpythonだからPHPやJavascriptで{}や;がやたら多くてびっくりした
他の言語もこんな無駄カッコや無駄記号だらけなん?
0726デフォルトの名無しさん
垢版 |
2020/08/19(水) 00:09:21.86ID:LSZ+gOY+
>>724
一概に無駄でもないよ
改行とインデントを強制されなければ
script.min.js のように圧縮出来たりするんだから
0727デフォルトの名無しさん
垢版 |
2020/08/19(水) 00:23:15.86ID:Hd2Bulw5
plt.gcf().text(0,0,'value=',value)

でエラーが出る
テキスト文字と変数を同時に表示させるのってどうすればいいのでしょう?
0729デフォルトの名無しさん
垢版 |
2020/08/19(水) 00:55:11.95ID:LSZ+gOY+
https://note.nkmk.me/python-string-concat/
数値と文字列の連結・結合: +演算子, +=演算子, str(), format()

異なる型の+演算はエラーとなる。

s1 = 'aaa'
s2 = 'bbb'

i = 100
f = 0.25

# s = s1 + i
# TypeError: must be str, not int
source: string_concat.py

数値(整数型intや浮動小数点型floatなど)と文字列を連結したい場合は、

数値をstr()で文字列型に変換してから+演算子(または+=演算子)で連結する。

s = s1 + '_' + str(i) + '_' + s2 + '_' + str(f)
print(s)
# aaa_100_bbb_0.25
0731デフォルトの名無しさん
垢版 |
2020/08/19(水) 01:14:52.83ID:evela54s
なんだかんだPython が楽でいいわ
0733デフォルトの名無しさん
垢版 |
2020/08/19(水) 05:17:29.66ID:d0Iv/yZR
>>723
深さが色々なのですが、できるでしょうか
0736デフォルトの名無しさん
垢版 |
2020/08/19(水) 10:22:48.19ID:AdEpa29f
>>732
+1
0737デフォルトの名無しさん
垢版 |
2020/08/19(水) 14:18:08.43ID:d0Iv/yZR
https://i.imgur.com/mjoy2Xy.jpg
globとisdir関数でフォルダのみを取りたかったのですが、変なドットが含まれます
これは何でしょうか?上がディレクトリの構造です

import pathlib
import os

pat = pathlib.Path(".")
dirlist = pat.glob("**/")

for i in dirlist:
if os.path.isdir(i):
print(i)


これが結果です
.
renamedhgggg(0)
renamedhgggg(1)
0738デフォルトの名無しさん
垢版 |
2020/08/19(水) 14:18:48.82ID:d0Iv/yZR
すみません、10秒でかいけつしました
0740デフォルトの名無しさん
垢版 |
2020/08/19(水) 15:13:03.62ID:d0Iv/yZR
>>739
どうも
ごっちゃになっててよく分からんですねこれ
0741デフォルトの名無しさん
垢版 |
2020/08/19(水) 16:08:23.78ID:d0Iv/yZR
https://ideone.com/GdzQRA
これでなぜ4が返ってくるのでしょうか?
ローカル変数のlisをリターンできないと思うんですが
0743デフォルトの名無しさん
垢版 |
2020/08/19(水) 16:12:41.38ID:J4RcMtm3
>>741
4行目でreturnしとるやん
でもって6-8行目でちゃんとprint()にハメてるやん
だからちゃんとprintされるでー
0745デフォルトの名無しさん
垢版 |
2020/08/19(水) 16:15:58.64ID:9WUZg8Od
>>741
ローカル変数は参照できないだけでreturnはできるぞ
むしろそれ出来なかったらグローバル変数だらけになってカオスになるだろwwwwww
0746デフォルトの名無しさん
垢版 |
2020/08/19(水) 16:18:24.10ID:d0Iv/yZR
>>745
へぇ グローバルにしなくていいんすか(´・ω・`)、、、
0747デフォルトの名無しさん
垢版 |
2020/08/19(水) 16:59:21.37ID:QxrGZXqC
横軸距離、縦軸心拍のグラフ作りたいのですが
matplotlibで表示するとフルマラソンの横軸が
42.195ではなく4.2195E04となってしまいます
400m走読ませると4E02となります
これを一般的な42.195kmあるいは400mと表示させるには何を設定すればいいのでしょうか?
matplotlibのaxis触っても色や一だけで中身変える方法が分かりません
0749デフォルトの名無しさん
垢版 |
2020/08/19(水) 17:53:52.27ID:d0Iv/yZR
なぜglobはリスとではなく、ジェネレータを返すのでしょうか?
0750デフォルトの名無しさん
垢版 |
2020/08/19(水) 18:03:10.24ID:d0Iv/yZR
folder = pathlib.Path("./folder")
gettxt = folder.glob("*.txt")

for i in gettxt:
print(i)

イテレータの1つめを取得するにはどうしたらいいんでしょうか
print(i[0])だと怒られます
0753デフォルトの名無しさん
垢版 |
2020/08/19(水) 18:26:08.24ID:J4RcMtm3
>>747
matplotlibとエスパーして答えてやんよ
違ってたらシラネ(゚听)

ScalarFormatterのプロパティをuseMathText=Trueにしてないか ←一番濃厚
subplots()関数のsharexオプションにTrueを渡してないか
Axes.set_xscaleをちゃんとlinearにしているか←穴馬
0754デフォルトの名無しさん
垢版 |
2020/08/19(水) 19:40:31.10ID:d0Iv/yZR
>>751
わからないので
0756デフォルトの名無しさん
垢版 |
2020/08/19(水) 19:47:03.33ID:WTzhpdxp
print(folder.glob("*.txt").next())
0757デフォルトの名無しさん
垢版 |
2020/08/19(水) 20:13:37.04ID:d0Iv/yZR
>>756
print(folder.glob("*.txt").next())
AttributeError: 'generator' object has no attribute 'next'
こうなりますです
0759デフォルトの名無しさん
垢版 |
2020/08/19(水) 20:35:00.61ID:TTB/c6/P
結論だけ言うとジェネレータが返ってくるのでジェネレータはn番目の要素が具体的に何なのかという情報は持ってないので
リストにすればlist[0]で1つめの要素を取得できる(がメモリの使用量が大きくなる欠点がある)
ジェネレータに実装されてるのはnext()じゃなくて__next__()だが
これを直に書いて呼び出す時点で実装は相当頭悪いと言われても仕方ないので別のやり方を考えろ
0760デフォルトの名無しさん
垢版 |
2020/08/19(水) 20:37:41.65ID:d0Iv/yZR
どういうやり方がいいんでしょうか?
特定のフォルダ内の先頭のファイルを取得したいのです。
フォルダは複数です。
0762デフォルトの名無しさん
垢版 |
2020/08/19(水) 20:44:44.22ID:D588AZOd
> お前は毎朝起きるたびに俺に負けたことを思い出すよ^^

あー、ホンッとに思い出すなあ(笑)
キチガイの嘘つきの低レベルFランの、
朝鮮ゴキブリBot君は、
チョン独特の「なにもできないけど俺のほうがジャップより偉い!」的な
ことはよーくわかったよ。
ホントなにもできない朝鮮ゴキブリBot君!

クソチョンw

Pythonさえろくにできないバカチョンのくせに
できるとほざくクソチョンw

日本で強姦と窃盗を繰り返す
犯罪者在日のクソチョンw
0764デフォルトの名無しさん
垢版 |
2020/08/20(木) 07:03:22.08ID:nC7+Fgym
>>754
>>667-674
おまえ舐め過ぎ
必要になったら自分で調べるどころか人に聞けばいいと思ってるだろ
こういう事言っていいのは自分で問題解決出来る奴だけだ
つまりIQ高いとか多言語での知識や経験があるとか、少し試しただけで察せるような者
おまえのような覚えの悪いガイジはチュートは勿論、入門サイト片っ端から周って全部読め
急がば回れ。低脳は一つ一つ、読んで、書いて、試して、考えて、覚えろ
0765デフォルトの名無しさん
垢版 |
2020/08/20(木) 08:06:59.14ID:MbxCNltP
ID:d0Iv/yZR
コイツみたいなガイジは無視でいいんじゃないの?
これ、ただのクレクレくんだぞ
0766デフォルトの名無しさん
垢版 |
2020/08/20(木) 08:56:08.54ID:b+jy9VOZ
フローチャートは作ったほうがいいの?
0767デフォルトの名無しさん
垢版 |
2020/08/20(木) 09:01:40.48ID:Av1Lrhjm
>>766
グループで作業してる等、人に説明する必要が湧くかもしれないなら必要
そうじゃないならマイルール
0768デフォルトの名無しさん
垢版 |
2020/08/20(木) 09:19:29.85ID:Av1Lrhjm
>>765
そんなこといったら クレクレくんに失礼だろ! ε=(`・ω・´)プンスカプン!!
ガイジいけぬまヒトモドキでおk!
0769デフォルトの名無しさん
垢版 |
2020/08/20(木) 09:37:46.37ID:ywsFZyvS
>>766
フローチャートは非プログラマに対して処理の流れや業務フロー等を説明するために使うもの
プログラムの設計に使うのはプログラムを汚くする原因になるので 絶対NG
0770デフォルトの名無しさん
垢版 |
2020/08/20(木) 09:46:49.16ID:b+jy9VOZ
>>769
えっ、設計には使わないのが普通なんですか?
設計するときに流れを整理するために言語化したりしないでしょうか?
0772デフォルトの名無しさん
垢版 |
2020/08/20(木) 09:58:06.65ID:ywsFZyvS
>>770
だったら自然言語で設計すればいい
フローチャートはPythonより抽象度が低いから設計には不適
0773デフォルトの名無しさん
垢版 |
2020/08/20(木) 10:18:01.89ID:61O10j2r
直接コード書き始めるのが習慣になって
未だにフローチャートの書き方がわからない
0774デフォルトの名無しさん
垢版 |
2020/08/20(木) 10:36:30.14ID:Av1Lrhjm
フローチャートでよくつかう形にかたぬきずみのポストイットあったらいいなー
0775デフォルトの名無しさん
垢版 |
2020/08/20(木) 10:37:26.59ID:b+jy9VOZ
>>772
箇条書きで十分なんでしょうか
0776デフォルトの名無しさん
垢版 |
2020/08/20(木) 10:53:18.96ID:ftyO+Q4L
枝葉をカットしてUMLやらの流れ図にまで押し込められるまでにかんたん化する
だから図そのものでは設計してない

そしてフローチャートそのものももう古い

なんで学校で教えているのか分からない、
というか、採点しやすい、(採点側であるところの)「わたし」が見て分かり易い、
(プログラミングなんて全くできないバカ=採点するアホでも)とりあえず眺めて満足できる、という理由だけで教えられてるフシがある
バカ向けの書類を作る苦行をさせられてるワケだ。
この種のバカを全排除すればITの効率は上がる
ハンコと同じだね

Cプログラミング診断室/上司が問題/フローチャート
http://www.pro.or.jp/~fuji/mybooks/cdiag/cdiag.3.3.html
0777デフォルトの名無しさん
垢版 |
2020/08/20(木) 11:10:58.40ID:b+jy9VOZ
>>776
この代わりの方法というのはどんなものでしょうか?
0778デフォルトの名無しさん
垢版 |
2020/08/20(木) 11:36:32.37ID:H4suG3I9
そもそもスクリプト言語ってのが処理の流れを書くものであって
図じゃなくて英語が読めるならインデントの箇条書きみたいなもんでは
0779デフォルトの名無しさん
垢版 |
2020/08/20(木) 11:38:34.66ID:b+jy9VOZ
特定のフォルダに存在するフォルダを取得したいです
pathで指定されているフォルダには対象フォルダは2つありますが、上のコードだと結果が1つしか返りません
これのどこがいけないでしょうか?ループの問題だと思いますが、どこを治せばいいですか?
https://ideone.com/XpH2Wi

>>778
フローチャートはやめて、ブロックごとにコメントでも書いておきます
0781デフォルトの名無しさん
垢版 |
2020/08/20(木) 12:18:54.29ID:n3I6y8KW
プログラム自体をドキュメントとする。
例えば改訂履歴、関数のパラメータの説明やリターン値などの説明、

ドキュメントを自動生成してくれるツールや、関数を呼び出すときにそれらの説明を表示してくれるIDEなども有る。

jupyterなら関数の説明として表示してくれる。

java ならjavadoc
python ならdocstrnig
VSCode にはautoDocstringが有る。

書き方には色々ありNumpy スタイル、Google スタイルなど有る。
後でsphinx と言うツールでドキュメントとして出すことも可能。Python の公式ドキュメントはこれで作られている。

Numpyスタイル
https://qiita.com/simonritchie/items/49e0813508cad4876b5a

Googleスタイル
https://qiita.com/11ohina017/items/118b3b42b612e527dc1d
0782デフォルトの名無しさん
垢版 |
2020/08/20(木) 12:20:16.29ID:b+jy9VOZ
インデクサーを返してました(´・ω・`)
0783デフォルトの名無しさん
垢版 |
2020/08/20(木) 12:31:42.97ID:0IC6eQqF
>>777
PADとかNSチャートとか
0784デフォルトの名無しさん
垢版 |
2020/08/20(木) 12:34:56.66ID:n3I6y8KW
python のdoctest は、docstring内の実行例までテストしてくれる。

https://docs.python.org/ja/3/library/doctest.html?highlight=docstring

doctest モジュールは、対話的 Python セッションのように見えるテキストを探し出し、セッションの内容を実行して、そこに書かれている通りに振舞うかを調べます。 doctest は以下のような用途によく使われています:

モジュールの docstring (ドキュメンテーション文字列) 中にある対話実行例のすべてが書かれている通りに動作するか検証することで、docstring の内容が最新かどうかチェックする。
テストファイルやテストオブジェクト中の対話実行例が期待通りに動作するかを検証することで、回帰テストを実現します。
入出力例を豊富に使ったパッケージのチュートリアルドキュメントが書けます。入出力例と解説文のどちらに注目するかによって、ドキュメントは「読めるテスト」にも「実行できるドキュメント」にもなります。
0785デフォルトの名無しさん
垢版 |
2020/08/20(木) 12:54:47.02ID:b+jy9VOZ
>>783
フローチャートと違ってツールがないすね
0786デフォルトの名無しさん
垢版 |
2020/08/20(木) 13:09:49.10ID:H4suG3I9
https://heat-haze.ハテナblog.com/entry/2016/08/02/232149
> NSチャートが記述できるフリーソフトがないかと探していたところ、
> Structorizerというルクセンブルグ生まれのソフトを見つけた。
0787デフォルトの名無しさん
垢版 |
2020/08/20(木) 14:40:54.13ID:RX/3qqm6
>>757
print(folder.glob("*.txt").__next__())
0788デフォルトの名無しさん
垢版 |
2020/08/20(木) 16:09:13.33ID:b+jy9VOZ
ジェネレータとただの配列の違いがまだ分からん
0789デフォルトの名無しさん
垢版 |
2020/08/20(木) 16:09:30.99ID:b+jy9VOZ
>>786
使わないですもう
0791デフォルトの名無しさん
垢版 |
2020/08/20(木) 16:29:37.16ID:RX/3qqm6
>>788
decorator
0792デフォルトの名無しさん
垢版 |
2020/08/20(木) 18:36:09.96ID:b+jy9VOZ
ジェネレータは添字がないのなら、何を目印にしているんですか?データそのものの文字列とかですかね>
0794デフォルトの名無しさん
垢版 |
2020/08/20(木) 20:22:54.82ID:b+jy9VOZ
os.renameで2つの引数に複数の値を指定した場合どういうループ構造にするといいですか?

target = [target1,target2]
replace = [replace1,replace2]

os.rename(target,replace)じゃだめですよね
0795デフォルトの名無しさん
垢版 |
2020/08/20(木) 20:43:24.25ID:N3Xth98n
for t, r in zip(target, replace):
____os.rename(t, r)
0796デフォルトの名無しさん
垢版 |
2020/08/21(金) 01:47:19.85ID:90ZFpIps
python関連でググると高確率で、techacademyとかいうサイトがヒットする。
そして毎回、冒頭の男女二人の会話にイライラしながらスクロールするのだ。
会話最後の女のノー天気な「お願いします!」が余計怒りを増幅させてくれる。
0800デフォルトの名無しさん
垢版 |
2020/08/21(金) 11:03:07.97ID:6zccVHNz
NG sejuku
NG techacademy
微妙 teratail
0801デフォルトの名無しさん
垢版 |
2020/08/21(金) 11:25:07.17ID:tDzk/wNZ
東京フリーランスのとだこうきが、デイトラに、
9万円のRuby on Rails のコースを作って、価格破壊を起こした!

1年で、デイトラの企業価値、10億円を目指すとか

他校と違って、宣伝費・就職サポートが無いから、安い
0802デフォルトの名無しさん
垢版 |
2020/08/21(金) 11:26:30.64ID:6zccVHNz
NG Ruby
NG Rails
0805デフォルトの名無しさん
垢版 |
2020/08/21(金) 13:11:59.76ID:wUhiKu+g
まあこいつが宣伝するとネガティブな効果しかないけどなw
おそらくこいつが言及している人物なりサービスの提供元からすれば、糞な書き込みに俺の名を出すなと言いたいことだろう
0806デフォルトの名無しさん
垢版 |
2020/08/21(金) 16:02:11.66ID:+Rz1kvU3
pysimpleGUIで**って表記が出てきます
なんとなくobj = {"key1":"val1","key2":"val2"}
みたいな辞書のkeyとvalueを展開してるんだろうなくらいの認識なのですが
そもそも**はどうやって使えるようにしてるのでしょうか
print(**obj)とかやってもエラーでました
0808デフォルトの名無しさん
垢版 |
2020/08/21(金) 16:32:14.37ID:+Rz1kvU3
>>807
なるほど受取り側の関数の引数名がkey1やkey2でないといけないわけですね
つまり(pysimpleGUIメソッドを使うときに**で渡していた)辞書のキー名は
pysimpleGUI内で使う引数名と一致する必要があったのですね
ありがとうございます
0809デフォルトの名無しさん
垢版 |
2020/08/21(金) 16:37:01.40ID:LJcgyDKT
かわ∃

530 (ワッチョイW 1fc5-4PbC) 2020/08/21(金) 16:29:12.94 ID:63P3hyCP0 (PC)
Pythonのインテンドルールに通ずるものがある
0810デフォルトの名無しさん
垢版 |
2020/08/21(金) 16:37:47.50ID:2LaXNW9i
ちょっと変な理解の仕方だな
0811デフォルトの名無しさん
垢版 |
2020/08/21(金) 16:55:32.31ID:gMJ0SiA5
>>808
ちょっと違う
どんなコードを見てそう思ったかは分からんけど

まず**自体について
これ関数の引数がhoge(**kwargs)で定義されてたら
引数をdict型として受け取る、という情報になる
(dictの詳細な型情報をいちいち記載しなくても使えるという利点がある)

>つまり(pysimpleGUIメソッドを使うときに**で渡していた)辞書のキー名は
>pysimpleGUI内で使う引数名と一致する必要があったのですね
これについはのその関数がどういう実装をしているかによる
というか、辞書のキー名指定があるものを**kwargsで受け取る仕様にしてたら
バグの元にしかならんから、たぶん違うと思うぞ
0812デフォルトの名無しさん
垢版 |
2020/08/21(金) 17:55:23.54ID:+Rz1kvU3
>>811
引数をdict型として受け取る意味合いがあったのですね
hoge2とhoge3の使い分けが今一わからなかったので
関数側もhoge1みたいに引数で主張するもんだと思っていました

obj = {"key1":"val1","key2":"val2"}
def hoge1(n, *, key1, key2):
print(n)
print(key1)
print(key2)
def hoge2(**kwargs):
for k,v in kwargs.items():
print(v)
def hoge3(obj):
for k,v in obj.items():
print(v)

hoge1(10,**obj)
hoge2(**obj)
hoge3(obj)

pysimpleguiではsg.Button("忘れた", **style)
みたいな感じで使われてました
あらためて調べたところ
https://github.com/PySimpleGUI/PySimpleGUI/blob/master/PySimpleGUIQt/PySimpleGUIQt.py
にButton Class がありました(これかどうかはわかりません)がhoge1みたいにやってるみたいでした
0813デフォルトの名無しさん
垢版 |
2020/08/21(金) 18:00:08.23ID:2LaXNW9i
嘘を撒き散らすな

ちゃんと仕様読め
0814デフォルトの名無しさん
垢版 |
2020/08/21(金) 18:03:34.81ID:+Rz1kvU3
訂正
>pysimpleguiではsg.Butto
というより、どこかのサイトでpysimpleguiを使ったコードの中では
でした
0815デフォルトの名無しさん
垢版 |
2020/08/21(金) 18:18:10.73ID:Our4I64+
https://ideone.com/WqvyRk
フォルダの先頭のファイルを拾ってそのファイル名を親フォルダ名としたいのですが、os.renameの箇所が動きません
どこが駄目ですか?
フォルダの取得とファイルの取得はいけました

コード汚くてすません(´・ω・`)自分でも読めない
0818デフォルトの名無しさん
垢版 |
2020/08/21(金) 19:03:59.81ID:gMJ0SiA5
>>815
Pythonのイテレータとジェネレータ
https://qiita.com/tomotaka_ito/items/35f3eb108f587022fa09
>ジェネレータは一度forループで回したりすると2回目以降のforループでは要素が出てきません。
これをまず100回ぐらい読め
その呼び出し方だと、replace_text側のlistが空で返ってくる

で、直すとこんな感じ
こっちの環境で動かす時に関係ないフォルダがリネームされかけたから
暫定的な処理を入れてるけど、その辺は自分で消しておいて
https://ideone.com/HooKEd
0820デフォルトの名無しさん
垢版 |
2020/08/21(金) 20:11:10.28ID:Our4I64+
>>818
>>817
どうも、このままだと動かなかったので改造してみます
フォルダ構造はこうです
root
┣folder1
┣folder2
┗rename.py(ここにファイルを書きました)
0821デフォルトの名無しさん
垢版 |
2020/08/21(金) 21:01:30.63
最初の方
getfile1 = path.glob("*")
getfile2 = path.glob("*")
最後の方
zip(getfolderlist(getfile1) , getfilename(getfolderlist(getfile2)))

ってやったら普通にリネームされたけどね
root
┣folder1 - folder11.txt
┣folder2 - folder22.txt,folder33.txt
┗rename.py
実行後、folder11,folder22へ
0823デフォルトの名無しさん
垢版 |
2020/08/21(金) 21:23:19.74ID:yq0UM+AD
>>796
あのサイトあの会話部分を取り除いて
簡潔に書いてくれれば読む気になるのにな
会話が目に入った瞬間にあのサイトから離れるわ
0825デフォルトの名無しさん
垢版 |
2020/08/21(金) 22:26:13.29ID:tanKrWk4
Pythonはnkmk、Mysqlはdbonline
ここが引っかからなかったらそれ以上わかりやすいサイトはないので検索ワードを変えるか別の方法を考える
0829デフォルトの名無しさん
垢版 |
2020/08/22(土) 06:54:01.74ID:Z35Hz91D
>>821
どうも
すみませんが、全コードもらえませんか?
どこが動いてないのか分からないです
0832デフォルトの名無しさん
垢版 |
2020/08/22(土) 09:14:49.23ID:EOc6Tb4U
ギブアップしてクレクレし始めたな
次は改変の仕方を質問してまたクレクレするのだろう
もうキッチリ仕様決めて文書化して依頼スレにでも行けよ
0833デフォルトの名無しさん
垢版 |
2020/08/22(土) 10:43:45.55ID:1SZISF1a
>>640
に書いておいた

まず事前に、チェックツールを作って、それでチェックしないと危険。
例えば、5個までrename に成功して、6個目でエラーになった場合に、元に戻せないだろ

フォルダ内を走査しながら、フォルダ名を変えるとか、
こういうのは最も危険な行為

事前にすべてを取得して、変更前後で、整合性が取れているか、チェックすべき!
それと必ず、全データを別の場所へ、バックアップしておくこと!

初心者が大規模に、フォルダ処理をするのは、非常に危険だから

それと質問者は、最初に質問したレス番号を、名前欄に入力してくれ。
誰が書いているのか、分かりにくいから
0836デフォルトの名無しさん
垢版 |
2020/08/22(土) 12:10:52.30ID:PEMbgbih
>>833
お前が他人に何かを求めるな
スレタイ読んで1読んでそれに従えるようになるまで発言するなよ
0837デフォルトの名無しさん
垢版 |
2020/08/22(土) 13:38:18.43ID:Z35Hz91D
>>834
ありが、とう、、、(´・ω・`)
0838デフォルトの名無しさん
垢版 |
2020/08/22(土) 13:50:23.04ID:Wm8ypqJG
>>829
>すみませんが、全コードもらえませんか?
>どこが動いてないのか分からないです
デバッグとかしたこと無かったりする?
(ちゃんと想定通りの返り値が来てるとか、変数の中身が想定通りとか)

IDEのデバッガどころか、printデバッグすらしてないように見える
0840デフォルトの名無しさん
垢版 |
2020/08/22(土) 14:18:17.17ID:FMQKYWu+
833がせっかくウルトラ珍しくイイ!!(・∀・)こといってるのに
836で突っ込まれててミリワロタ(・∀・)

>>839
今日のNGID:Z35Hz91Dは
「しか知らない」とかいう問題以前のうんこだぞ
0842デフォルトの名無しさん
垢版 |
2020/08/22(土) 14:45:04.07ID:Z35Hz91D
>>838
デバッグの方法がよくわかりません
printはよくやりますが、どの部分をprintすればいいのか、という法則に則っているわけではないです
当てずっぽというか、、、

vs codeのコンソールを使用しています
0844デフォルトの名無しさん
垢版 |
2020/08/22(土) 15:09:34.61
エラー読む → デバッグ箇所が何行目かざっくりわかる
の流れで大抵はいける気がする
0850833
垢版 |
2020/08/22(土) 23:33:29.55ID:1SZISF1a
事前に、2つのチェックが必要

1. 変更前のフォルダ名と、同じフォルダ名にならない事
2. 変更後のフォルダ名が、重複しない(ユニーク)事
0851デフォルトの名無しさん
垢版 |
2020/08/22(土) 23:37:14.62ID:Wm8ypqJG
>>842
プログラムっていうのは構文エラー(syntaxerror)を除けば
エラーが発生するまで基本的には動き続ける

と言っても、エラーが発生した箇所=元凶とはならない、っていうのをまず覚えてく必要がある
一番分かりやすいのがprintデバッグ
・エラーメッセージからエラーが発生した箇所を確認する
・エラーが発生する個所の直前にprint文を入れて、渡している引数の変数がどうなっているか確認する
・変数値がおかしいなら、その変数を取得してる個所について調べる
っていうのが流れになる

>>845にあるように、デバッグ構成を設定すれば
デバッガが使えるようになるから、一々print文を仕込まなくても
変数の中身を確認したり、ブレークポイントで処理を途中で止めたりとか柔軟に確認できるようになる

これが出来ないといつまで経ってもプログラム書く→実行→何故か想定通り動かん
のループにハマるから、ちゃっちゃとデバッガの設定してこい
0852デフォルトの名無しさん
垢版 |
2020/08/23(日) 14:26:59.46ID:yHFmV8GT
seleniumでウェブサイトのボタンとかリンクとかクリックはできますが
逆にDOMのボタンがクリックされたときに
pythonの処理をするメソッドってありましたっけ?
(ボタンがクリックされたらJSでウェブページの内容を変更して、
python側では常にその変更箇所を監視する、というイレギュラーな方法だとできる)
0856デフォルトの名無しさん
垢版 |
2020/08/23(日) 15:40:09.59ID:WHl934bN
>>855
プログラムでelement.click()してるからクリックされてるんじゃないの?

あとは手動操作より先にプログラムが終了しないよう待つ処理が必要
0858デフォルトの名無しさん
垢版 |
2020/08/23(日) 15:56:09.95ID:yHFmV8GT
element.click()消してループさせてみました >>856
https://ideone.com/EdCzQj
これで、Gmailのテキストをマウスでクリックしたら
print("before_click:" + driver.current_url)
print("after_click:" + driver.current_url)
が実行されるのかなとおもったのですが、画面遷移されるだけで、ターミナルには何も反応せず。
while内の処理が優先されているのでしょうか?
0859デフォルトの名無しさん
垢版 |
2020/08/24(月) 19:32:54.99ID:ren4Ku/C
リストボックスの情報を最新のリストに更新する処理をかきたいんだけど、
listbox.delete(a,b)を使えば良さそうというところまではわかったんだけど、
どう引数を入れたらdelete関数でリストボックスをリセットできるのかわからない。

いくつかサイトを見てもわからなかったり、動かなかったりという状態なので、
何卒よろしくお願いいたします。
0860デフォルトの名無しさん
垢版 |
2020/08/24(月) 19:45:34.52ID:LldYwy9J
>>859
なんのことだかしらんが
一旦空リストを書き込んで
新しいリスト入れたらえーんでねんの
0861デフォルトの名無しさん
垢版 |
2020/08/24(月) 19:55:36.01ID:+8iRLU+E
> どう引数を入れたらdelete関数でリストボックスをリセットできるのかわからない
ggrks
https://www.google.co.jp/search?q=Listbox+delete+Python
> いくつかサイトを見てもわからなかったり
バレバレの嘘つくな。貼れ
> 動かなかったりという状態
書け
どんどん雑になってきたな
おまえは楽しようって魂胆が見え見え杉
0862デフォルトの名無しさん
垢版 |
2020/08/24(月) 20:21:32.08ID:z14v2ytc
サイトとかのソース参考にしてても、import文の記載が無い事が多くてどのパッケージなのか解らなくて大変です。
どうすれば良いのかアドバイス欲しいです。
0867デフォルトの名無しさん
垢版 |
2020/08/25(火) 01:40:45.84ID:kR3OjXLq
>>1
このスレッドは「お勉強」スレのほうには書き込めない超低レベル、
もしくは質問者自身何が何だか分からない質問を、勇気を持って書き込むスレッドです。
へび使いが優しくコメントを返しますので、お礼は Python の布教と初心者の救済をお願いします。
0868デフォルトの名無しさん
垢版 |
2020/08/25(火) 08:40:45.84ID:xfM0oKGB
回答者は1を読めということか?

質問者が💩だったり質問内容が💩だったり丸投げだと回答しませんとかテンプレートにわざわざ加えるのか?
書くまでもない常識だから書いてないんだろ。
コイツも>>862と同じ💩だな
0869デフォルトの名無しさん
垢版 |
2020/08/25(火) 10:32:15.26ID:8u+D4Xfy
スレタイすら読めないなら来なきゃ良いのに
くだすれPython ←丸投げ
(超初心者用) その49 ←肥溜
【まず1嫁】← すら忌む
0870デフォルトの名無しさん
垢版 |
2020/08/25(火) 10:32:52.66ID:4X5TvCKl
初心者キッズにうんこマークで返信とかあり得ないだろ
0871デフォルトの名無しさん
垢版 |
2020/08/25(火) 10:35:07.55ID:Y8gLziYU
ここ5ちゃんなんでー
うんこがヽ( ・∀・)ノ● ウンコー!って煽られるのは5ちゃんクォリティだろ
0874デフォルトの名無しさん
垢版 |
2020/08/25(火) 13:49:07.04ID:4X5TvCKl
ひとまずスレタイの超初心者用って外したほうがいい
カス共に煽られて超初心者が可哀想でならん
0875デフォルトの名無しさん
垢版 |
2020/08/25(火) 14:10:34.18ID:Y8gLziYU
Pythonの超初心者対象スレであって、
ひとにものをきくこと自体の超初心者や
ネッツ超初心者
および
宿題丸投げしたいいけぬまは対象じゃないスレだと思うぞここ
0876デフォルトの名無しさん
垢版 |
2020/08/25(火) 15:21:17.92ID:t6Q8CviK
>>874
いや、それこそ>>1に質問する時に以下書けって書いてあるし
それ以前にこれ無いとエスパーしないと回答できないから無理だぞ
>★エラーを解決したい場合は、
>  表示されてるエラー全文(勝手に省略やスクショうp等の横着クソ行為禁止)と、
>  実行環境(Pythonのバージョン・OS+IDEの種類とバージョン)をシッカリ書くこと。
0877デフォルトの名無しさん
垢版 |
2020/08/25(火) 15:36:46.51
>エラーを解決したい場合は
>エラーを解決したい場合は

要するに質問者がシッカリ書いてないので
答えられないor答えたくないのなら
単純に、答えなければいいだけだし
それが原因で回答者がいなくなればスレが廃れるだけのこと
でも実際はそうなってない
シッカリ書いてないから書けというのは、説教でしか無い
質問者が横着だろうと宿題だろうと丸投げだろうと
質問者含め他の利用者にとってはQ&A自体が財産となる
説教”のみ”は負の遺産
0879デフォルトの名無しさん
垢版 |
2020/08/25(火) 16:26:19.70ID:t6Q8CviK
>>877
>シッカリ書いてないから書けというのは、説教でしか無い
これを説教と思ってるならお前相当な馬鹿だぞ

ぶっちゃけQAサイトなんか他にもある
teratail、stackoverflowがその代表例だわ
だけどどこでも>>1に書いてある情報ってのは必須項目だし
何ならルール的には一番緩いぐらいだ

何よりもだ
「こっちが回答した内容を、その通りに実行する」っていうのはQA解決の基本なんだよ
言った事が実行出来んならいくらこっちが言っても永遠に解決できん
0880デフォルトの名無しさん
垢版 |
2020/08/25(火) 17:10:39.70
だから
>エラーを解決したい場合
って書いてあるじゃん

質問者がシッカリそこを書いてないのなら
エラーを解決しなくてもいい、と受け取られても仕方ないってこと
その上で、シッカリ書いてなくても理解できる&答えられる回答者がいる
そして問題ないことはこのスレの存続が証明している
シッカリ書いてないと理解できない&答えられない回答者は
無理して答えなくていいんだよ

答えられないor答えたくないのなら
単純に、答えなければいいだけ
「おれが答えられるようにシッカリと書いてくれ」みたいに無理するから
説教になるんだよ
0881デフォルトの名無しさん
垢版 |
2020/08/25(火) 17:21:38.72
無理して答える → 解決しなかった → ふーん → じゃあこれはどうだ
みたいな回答者がほとんどな一方で、

無理して答える → 解決しなかった → シッカリ書いてないからだろ!! → 俺は間違ってない!、俺は失敗してない!
質問者がシッカリ書いてないからだ → シッカリ書くように!!
みたいな回答者が一定数出てくるのは初心者質問スレあるあるでほんとにどこにでも湧く現象

回答を否定されたことで恥かいたみたいな心理なんだろうけど
半匿名のスレで恥・・?と思う
0882デフォルトの名無しさん
垢版 |
2020/08/25(火) 17:36:19.73ID:tTUuca5F
そもそもエラー文も載せないで質問もクソもないだろ
エスパーすればいいのか
0883デフォルトの名無しさん
垢版 |
2020/08/25(火) 17:50:16.45ID:N+ZFOqgj
初心者スレで出る質問なんてエスパーで解決できる問題がほとんどだし
できなければ問答で詰めればいいだけ
そもそもどの部分がエラーなのか、エラーの重要性を知らない初心者はそのときに知ればいい
初心者がどこまで把握してるかなんてわかるわけないし
最低限リファレンスimportするモジュールの仕様書全部読んでから来ましょうなんてスレの存在理由なさすぎ
0884デフォルトの名無しさん
垢版 |
2020/08/25(火) 18:41:22.34ID:t6Q8CviK
>>880>>881
あのな、まずはコミュニケーションを取ってくれ
質問者:質問する
回答者:情報足りんから、エラー文とか本文を乗せて?
質問者;はーい
回答者:あーなるほど、〜を直してもう一回動かして
回答者:あ、動きましたありがとうー

で済む話やん
お前の言ってる事って
「指図するな、俺のレスだけで回答しと」
「質問に回答できないのは、回答者がエスパー出来ない低レベルな人だからだ! 黙ってろ!」
って言ってるもんだぞ
0885デフォルトの名無しさん
垢版 |
2020/08/25(火) 18:47:14.88ID:t6Q8CviK
なんで回答の過程で相手方の情報聞くのに
ここまで言われないとアカンのか、それが分からん
エスパー過信しすぎだろ
0886デフォルトの名無しさん
垢版 |
2020/08/25(火) 18:51:38.12ID:BUEzAkO7
>シッカリ書いてないと理解できない&答えられない回答者は
>無理して答えなくていいんだよ
超初心者スレで質問ガン無視推奨は草生える
0887デフォルトの名無しさん
垢版 |
2020/08/25(火) 19:05:20.33ID:Y8gLziYU
>シッカリ書いてないと理解できない&答えられない回答者は
>無理して答えなくていいんだよ
訳:おれのママンならきっとこたえられるはず!!!
0888デフォルトの名無しさん
垢版 |
2020/08/25(火) 19:37:07.98
>>884
いや、その質問回答者の対話のくだりはまったく否定してないし
シッカリ書かれてなかったら問答で詰めればいいだけ
その対話云々の前に、テンプレ通りにきちんとシッカリ書き、書けないなら質問するな
みたいに匿名スレで無意味な活動してるバカに言ってるんであって
0889デフォルトの名無しさん
垢版 |
2020/08/25(火) 19:39:54.74ID:eaRZTCkj
現状
質問者:質問する
回答者:ばーかばーか雑魚は帰れ!
質問者:(やべーとこに書き込んじゃったな…)
0890デフォルトの名無しさん
垢版 |
2020/08/25(火) 19:43:10.17
もっと言えば
質問者:質問する
(大抵ここでエスパー回答者が解決する)
で、済むわけで
0891デフォルトの名無しさん
垢版 |
2020/08/25(火) 19:49:04.83
ほんとコレに尽きる
”エラーを解決したい場合は、シッカリ書けばいい”
”シッカリ書いていなければそれ相応、エスパー回答者が答える”
”他の回答者は無理して答えなくて良い”
0892デフォルトの名無しさん
垢版 |
2020/08/25(火) 19:56:36.42ID:Y8gLziYU
エスパーは無料だから使い倒すべし
って思考のやつって
ティッシュ配りしてる人に何度も「無料なんだからティッシュよこせよ!」ってたかりそう・・・
0893デフォルトの名無しさん
垢版 |
2020/08/25(火) 20:00:39.00ID:1LN43Rd/
>>875
これ。
python初心者は問題じゃないんだよ。エスパー上等。
ただ人としてウンコな質問者やそれを擁護するやつに反吐が出るだけ
0894デフォルトの名無しさん
垢版 |
2020/08/25(火) 20:00:42.06
すまんティッシュ配りのたとえ全然わからん
単純にエスパー回答も含め回答は自由なだけだろ
0898デフォルトの名無しさん
垢版 |
2020/08/25(火) 20:13:54.36
それこそコミュニケーション取ったほうがいいな
それ宿題だろ? → いいえ違います
ここで引いたほうがいいぞ
宿題のはずだ!ってなりはじめたらヤベえやつです
0899デフォルトの名無しさん
垢版 |
2020/08/25(火) 20:22:25.19ID:Y8gLziYU
IDなしのやつやべえDQNだな

いいえ違いますって言うあふぉもいるが
なにからなにまで●写しだと
教授会にかけられて半年停学+単位剥奪+名前晒しの刑になるだけだぞ現実は
0900デフォルトの名無しさん
垢版 |
2020/08/25(火) 20:23:49.99ID:Y8gLziYU
ところで
このスレで宿題丸投げうんこ野郎と言っている際は
本気じゃなくてただ煽ってるだけのこともある
0901デフォルトの名無しさん
垢版 |
2020/08/25(火) 20:39:37.12
宿題か否かも写しか否かも煽ってるだけか否かも
調べようがないわけでかなりどうでもいい
そのことを5chで主張することに何の疑いもないなら
ほんと統失を疑った方がいい
0903デフォルトの名無しさん
垢版 |
2020/08/25(火) 22:08:04.63ID:R95U26hT
手取り足取り教えるより
>>899 「現状」の対応の方が正しい
0904デフォルトの名無しさん
垢版 |
2020/08/25(火) 22:08:38.31ID:R95U26hT
あれ
ずれた
>>889
0906199
垢版 |
2020/08/25(火) 22:46:54.64ID:yWqPv6xf
くだらない言い争いとかどうでもいいんで、
フォルダパスとイテレータの質問にちゃんと回答してくださいよ
0907デフォルトの名無しさん
垢版 |
2020/08/25(火) 22:50:23.32
こういう質問スレで、テンプレ厳守回答者が一定数沸くのは
返信できない焦燥感に起因するのだと思う
質問レスが視界に入ったとき、返答しない(=回答しない=解決できない)原因が
どこにあるかを探ろうとしてしまう
そもそも回答するもしないも自由だ、ということを認知していなくて
回答しない原因を自分のせいにしたくない、という心理が先に働いている
というのがしっくりくる
回答、返答しないことは悪いことではない
0908デフォルトの名無しさん
垢版 |
2020/08/25(火) 22:52:07.64ID:R95U26hT
答えはすぐ思い付いても
他人の答えを知りたいときは
あえて黙ってることもある
0909デフォルトの名無しさん
垢版 |
2020/08/25(火) 23:09:24.46ID:BUEzAkO7
プログラムなんてルールの塊みたいなもんやし
プログラマやってたら自然とルール遵守するようになるのは当たり前やぞ
インデントにタブか空白を使うかで言い争いが出来るような人種にそんな一般的な考え方通じんぞ
0910デフォルトの名無しさん
垢版 |
2020/08/25(火) 23:13:57.18ID:BUEzAkO7
というよりプログラマなんてルール守って無かったら単純にイラつく連中やぞ
・全角と半角の混同
・日付書式が不定になてる
・命名規則がちゃんとしてない
etcetc……

ルール守らんと実害が出るって知ってる連中やからな
だからルール守らない=プログラマにとっては不快極まりないねん
0911デフォルトの名無しさん
垢版 |
2020/08/25(火) 23:15:50.22ID:R95U26hT
重複するキー

漢字→カナ変換
0912デフォルトの名無しさん
垢版 |
2020/08/25(火) 23:18:58.04
1のテンプレシッカリ守ってシッカリ書いてないってだけやん
ルールの解釈が違うだけでは
0913デフォルトの名無しさん
垢版 |
2020/08/25(火) 23:41:24.31ID:6p85gvZ+
このスレッドは「お勉強」スレのほうには書き込めない超低レベル、
もしくは質問者自身何が何だか分からない質問を、勇気を持って書き込むスレッドです。
へび使いが優しくコメントを返しますので、お礼は Python の布教と初心者の救済をお願いします。


したらルールを守ってね?
0914デフォルトの名無しさん
垢版 |
2020/08/26(水) 00:03:30.58
質問するやつはするし回答するやつはする
テンプレ厳守はまさに暖簾に腕押し
そもそもシッカリ書かないと質問してはいけないなど一言も書いてないしな
0915デフォルトの名無しさん
垢版 |
2020/08/26(水) 02:53:41.19ID:BpaQECb0
>1
>「Ruby では」「Rubyでは」「某言語では」をNGワード登録推奨

テンプレを勝手に書き換えているのは、荒らし。
削除した方がよい

自分がスレをめちゃくちゃに出来るように、
他人が書き込めないように、様々な条件を付けて、テンプレを改変してくる

昔から漏れらは、スレを立て直して、正しいスレへ誘導したりしてた

荒らしは、必ず2回以上書き込む。
「そうだよねー」みたいに、前のレスに同意して、人数を多く見せかけるので信用しないように!
0916デフォルトの名無しさん
垢版 |
2020/08/26(水) 04:19:28.36ID:zSbYaRfN
あガガイのガイ
0917デフォルトの名無しさん
垢版 |
2020/08/26(水) 04:22:08.90ID:oEB3gdtA
影の100条委員会があると言うなら、影の影の100条委員会があっても良いはず。

設置します。
0920デフォルトの名無しさん
垢版 |
2020/08/26(水) 07:34:22.64ID:6U3dFgUP
IDなし●つき氏、
長々とへりくつ(要約すると 質問者の権利>>>>>>>>その他の住民の権利>>質問者の権利 ってなるぞw)こねてないで
なんとかしてさしあげろよwww
0921デフォルトの名無しさん
垢版 |
2020/08/26(水) 08:40:32.46
質問も回答も自由なプラットフォーム上で自分の理想に制御しようとするからそういう思考になる
0923デフォルトの名無しさん
垢版 |
2020/08/26(水) 11:28:23.00ID:t75NLuUL
オラクルDBクライアントを使ってオラクルDBに接続して動作するpythonファイルをEXEファイル化しても、
他のパソコンで実行するときにはオラクルDBクライアントのインストールは必要になる?
0924デフォルトの名無しさん
垢版 |
2020/08/26(水) 12:09:50.77ID:fzjc/OnP
もちろん必要
悪いことは言わないから今すぐ考え直してWebアプリ化しろ
作ったものを自分の手の届かないところへ配るのは地獄の始まり
0926デフォルトの名無しさん
垢版 |
2020/08/26(水) 18:27:55.82ID:6U3dFgUP
>>925
違うっそうじゃないwww

「作ったものを自分の手の届かないところへ配るのは地獄の始まり」
↑これがすべてだぞ
0927デフォルトの名無しさん
垢版 |
2020/08/26(水) 18:36:40.65ID:ZwDJp7br
言っても分かんないだろ。
いっぺん痛い目みればいいんだよ。
愚者は経験に学ぶしかない。
0931デフォルトの名無しさん
垢版 |
2020/08/26(水) 19:00:06.24ID:pEKDTYqZ
>>925 少ないユーザなら自分のコンピュータにサーバを建ててアクセスさせれば良いじゃん。

Oracle DBサーバがあるんだったら、Webサーバなんて適当な隙間に入れられるだろ。
0933デフォルトの名無しさん
垢版 |
2020/08/26(水) 19:23:38.94ID:bAdU1Tmz
oracle instant clientを同梱すればなんとかなる気はするけど
後は頑張れとしか言えない
0934デフォルトの名無しさん
垢版 |
2020/08/26(水) 19:29:12.95ID:Ss3hGbOq
パイソンの配布に少し興味がある。
例えばアナコンダとかで作った仮想環境を
仮想環境丸ごとパッケージ化して配布とか
できんのやろか?
0937デフォルトの名無しさん
垢版 |
2020/08/26(水) 21:33:07.11ID:Ss3hGbOq
>>935
実際にはしないから問題ない。
純粋に技術的に興味があるだけだから。
0939デフォルトの名無しさん
垢版 |
2020/08/26(水) 22:28:59.00ID:oJqYqaTk
また無職業務君が知ったかぶりしてるのか
0941デフォルトの名無しさん
垢版 |
2020/08/26(水) 22:33:16.05ID:ESD5+9LH
>>938
単純にパソコンに詳しくない業務側のシステム担当者に定型的なデータベース操作をさせるためのツールでしかないんだけど。

1台、2台のpcでしか使わないようなものだし、保守に手間がかかるようなものではないと思うが?
0942デフォルトの名無しさん
垢版 |
2020/08/26(水) 22:51:32.19ID:ESD5+9LH
>>931
サーバに空き容量が無いわけではないが、一ヶ所の業務端末でしか使わないようなツールだし、webアプリ化まで手間をかけるようなものではないと思う。

pythonのexe化の問題点を検索するとexe化後のファイルサイズがデカイといった内容があるが、実際にexe化してみたら20メガ未満のサイズでしかない。

>>933が書いてるようにしておけば特段問題ないように思うんだけど。
0943デフォルトの名無しさん
垢版 |
2020/08/26(水) 23:21:58.94ID:cGPxI5k6
個人的にはpythonをexe化して配布しようという人の考えは理解出来ないけど、自分が自信を持って問題ないと思えてるならそれでいいじゃね
0944デフォルトの名無しさん
垢版 |
2020/08/26(水) 23:28:12.40ID:ESD5+9LH
>>943
何を問題と思ってるのか知りたいんだけど。
聞いてもその辺を書かないレスばかりじゃん。
0945デフォルトの名無しさん
垢版 |
2020/08/26(水) 23:39:39.97ID:vsdgJJdj
>>944
ぱっと思いつく問題をつらつら書くと

・配布先PCの環境依存性
 使うのに別ソフトウェア(oracle)が必要になるなら、バージョン指定した上でインストールしてもらう必要から
  その辺を記載したマニュアル作成しておく必要とかが出てくる
 (1〜2台のPCと言っても、故障とかで入れ替わると再セットアップが必要になるから、書いておかないと問い合わせが来る)
  あとはよほど無いとは思うけど、必要なソフトウェアのインストールに失敗した時の対応を誰がやるかとか……

・ソフトウェアのアップデート対応
 →1〜2台ならあんまり手間かからんけど、ソフトウェアアップデートしたらその時に対応が一応居る
  必要になるのはexeのアップデートと、関連ソフトウェアのアップデートぐらいだけど
  アップデートバッチを自動配布が理想だけど、社内とかでやるならその辺も整備が必要

・不具合対応
一番の懸念はこれかな、配布先PCの環境に依存したバグを引き当てると
 修正がクソ面倒になる(再現が面倒なので)
0946デフォルトの名無しさん
垢版 |
2020/08/26(水) 23:57:12.58ID:Ss3hGbOq
>>945
それってパイソンに限って生じる問題?
他の言語では生じない問題?
0948デフォルトの名無しさん
垢版 |
2020/08/27(木) 00:22:54.93ID:VrT5Yy+j
>>945
懸念点について了解。

it系じゃない企業の情シスだとその辺は普段からの当たり前になってるからあまり問題では無いかな。
一般人というのは文章作成とクリックしかできない想定で、その他は全て情シスがやるようなのが自分の会社の業務分担だし。
現場に行けばプリンタ設定さえも怪しい。
まあ、会社のパソコンがアカウント設定等で色々縛られてて、家のパソコンと違うってのが主原因だけど。
0949デフォルトの名無しさん
垢版 |
2020/08/27(木) 00:33:13.12ID:VrT5Yy+j
>>946
どの言語でも言えることだと思うよ。
たくさんのパソコンにインストールする場合は大きな問題になるから、
webアプリにした方が良い問題だな。

余談だが、富士通とかNECなんかのソフトベンダーはwebアプリとなると色んな言語のプログラマを揃えないといけなくなるから嫌がるけどね。
0950デフォルトの名無しさん
垢版 |
2020/08/27(木) 00:45:04.70ID:VrT5Yy+j
>>947
何も有用なレスを返せずに煽ってるお前は本物のゴミなんじゃね?
ゴミは人間社会から必要とされてないよ。
0951デフォルトの名無しさん
垢版 |
2020/08/27(木) 00:46:08.06ID:/TSJ2nks
会社(身内)だけならなんでも好きにすれば良いけど、
俺ならwebアプリ一個置いておいて使いたい人がアクセスして使うようにするね

ユーザーが増えた減ったの対応面倒だし、開発者はwebアプリ一個管理しとけば良いから楽
0953デフォルトの名無しさん
垢版 |
2020/08/27(木) 01:14:15.69ID:QFo4fI+T
お爺ちゃん、さっき晩ご飯食べたでしょ?
0956デフォルトの名無しさん
垢版 |
2020/08/27(木) 01:32:53.58ID:0TX63Eqy
>>952
ム板を襲撃してTeratailへ誘導してるようなことを書くと、いろいろマズいのでは?
0958デフォルトの名無しさん
垢版 |
2020/08/27(木) 03:17:08.09ID:5EpETf62
>>942 Webアプリ化が手間だと思ってるのなら間違い。
一度やってみれば後は簡単。

今後避けては通れないんだからやってみるべき。

そう言えば、PostgreSQL の管理ソフト PgAdmin がいつの間にかPython に変わってたな。
起動するとWebブラウザが開くんだけど。 他は面倒なインストールはない。 Flask で作ってたのかな?
0959デフォルトの名無しさん
垢版 |
2020/08/27(木) 07:11:11.30ID:kPlEQNDv
状況にもよるが、もしwebサーバーだけ自分で管理しなければならないなら
アプリケーション配布する方が楽だな。
0960デフォルトの名無しさん
垢版 |
2020/08/27(木) 09:03:19.05ID:ygBOOYPT
ブログをスクレイピングしたいのですが、記事一覧ページを表示させて、ページネーションごとに保存したいです。
ページネーション1、ページネーション2、ページネーション3
という感じです

これはpythonで出来るでしょうか?
0961デフォルトの名無しさん
垢版 |
2020/08/27(木) 09:15:34.37ID:VrT5Yy+j
>>958
今回は既にものが出来上がってるからこのままexe化でいくけど・・・

webアプリとして作るならpythonよりphpの方が作り易いと思う。
djangoは勉強したが、フレームワークってルールが多くてツール作るまでの学習に時間をとられる。
pythonもフレームワーク無しでwebアプリが作れるかも知れんが、やってる人が少ないから、日本語情報少ないし。
0962デフォルトの名無しさん
垢版 |
2020/08/27(木) 09:25:41.45ID:2jHLUtXB
>>960
ページネイションの<a href=タグのアドレスを拾い直せばいいんでね?
0963デフォルトの名無しさん
垢版 |
2020/08/27(木) 09:46:14.04ID:umQT4F1S
こっちもexeやめたいんだけどキャプチャ取って画像分類使ってるやつWebアプリにできたりする?
0966デフォルトの名無しさん
垢版 |
2020/08/27(木) 11:36:48.47ID:DIJ2mcr8
pythonは言語やライブラリがexe化して配布される事を想定してない

標準のパッケージングで対応出来ないなら、基本的にはpythonを使うべきユースケースじゃない

問題発生時に責任持って尻拭いできるなら、pyinstallerで問題が発生しないことをお祈りしながら使い続けるのも一つの選択肢
0967デフォルトの名無しさん
垢版 |
2020/08/27(木) 12:46:59.87ID:Y/JTTxIY
>>966
Pythonで作ったPythonコンパイラが存在していて再配布可能なのであれば、
Pythonで作ったプログラムも再配布可能って理解は間違ってる?
PyPyは再配布を前提に作成されてないってこと?
0968デフォルトの名無しさん
垢版 |
2020/08/27(木) 13:15:21.13ID:H/WqeZOs
exeじゃなくてpythonとpackageと自作アプリ別々にインストールしてもらうと
後で客が勝手にpackageの依存関係壊したりして面倒なことになるのが判り切ってる
0973デフォルトの名無しさん
垢版 |
2020/08/27(木) 15:42:40.97ID:5cdlCAIQ
配布の仕組み自体が整備されてないような会社なんだろうけど、Windowsならインストーラ用意してグループポリシーを使うのが標準的

DBアクセス権限なんかも合わせて管理できる

あとはサポート用に診断スクリプトを用意しておく

exe化で表面的に問題が解決できるように感じるから本来必要な仕組みに意識が向かない
0975デフォルトの名無しさん
垢版 |
2020/08/27(木) 17:35:47.53ID:/6w2hZAm
>>932
悪いけど国語は昔10だった
俺は知能指数が人口の上位2%なので
あなたの話が通じてないんだと思う

具体的に話してもらえるかな?
0976デフォルトの名無しさん
垢版 |
2020/08/27(木) 17:46:56.28ID:vAjE7nfE
他人に教えを乞うときに上から目線で臨むとどういう結果になるかわからない程度の知能指数w
0977デフォルトの名無しさん
垢版 |
2020/08/27(木) 18:01:36.90ID:zpSWTkqc
Flask は簡単っていうより簡素なだけ。
一枚のapp.pyから脱皮しようと依存性やらディレクトリ構成やらを考え出すと、contextがグローバルなことの難しさに直面する。
もちろん、これらの解決法もWebでたくさん転がってはいるけれど。
0978デフォルトの名無しさん
垢版 |
2020/08/27(木) 18:02:56.98ID:ygBOOYPT
import requests
from bs4 import BeautifulSoup
url = "https://www.yahoo.co.jp/";


response = requests.get(url)
#response.encoding = response.apparent_encoding
with open('hoge.html', 'w') as file:
file.write(response.text)

print(response.encoding)

取得したyahooが文字化けするんですが、何が原因かわかりませんか?
文字コードはutf8になるので、これで問題ないはずですが、、、
0982デフォルトの名無しさん
垢版 |
2020/08/27(木) 18:12:57.45ID:gGJ6aQTr
>>978
まずはそのPythonを走らせてるOSの種類とバージョンを言ってみようか
DOS窓の設定を特段弄ってない状態のWindowsではないかとエスパーしてはいるんだが
0985デフォルトの名無しさん
垢版 |
2020/08/27(木) 18:41:49.68ID:esPfZquD
>エンコーディングが指定されなければ、デフォルトはプラットフォーム依存です (open() を参照してください)
0986デフォルトの名無しさん
垢版 |
2020/08/27(木) 19:04:26.03ID:ygBOOYPT
>>985
どうも
めっちゃ見づらいんですけど、見やすいリファレンスありますか?
0988199
垢版 |
2020/08/27(木) 19:27:20.77ID:u9kzH2ZH
>>976
思ったw
教えてもらっといて了解とかね
0989デフォルトの名無しさん
垢版 |
2020/08/27(木) 19:52:15.67ID:esPfZquD
建てれなかった
0992デフォルトの名無しさん
垢版 |
2020/08/27(木) 20:21:21.52ID:gGJ6aQTr
くだすれPython(超初心者用) その50【まず1嫁】

当スレに★Python以外のプログラミング言語での回答類を書くべからず★
派生言語はそれぞれ専スレがあるのでそっち池。
「Ruby」「某言語では」をNGワード登録推奨。荒らしは、完全スルー放置が一番きらいです。

このスレッドは「お勉強」スレのほうには書き込めない超低レベル、
もしくは質問者自身何が何だか分からない質問を、勇気を持って書き込むスレッドです。
へび使いが優しくコメントを返しますので、お礼は Python の布教と初心者の救済をお願いします。

★エラーを解決したい場合は、
  表示されてるエラー全文(勝手に省略やスクショうp等の横着クソ行為禁止)と、
  実行環境(Pythonのバージョン・OSとIDEの種類とバージョン)をシッカリ書くこと。

【【【複数の連続半角スペースはなかったことになる・タブがうまく入らない5chの仕様】】】に注意!
Pythonの★ソースコードをそのまま5ちゃんにコピペすると、インデントが崩れてチヌ★ので
  ↓等の、いわゆるコードうp用サイトに貼ってこいください。
ttps://techiedelight.com/compiler/  Run Code機能あり。最近流行中?
ttp://ideone.com/      デフォ設定はC用のため言語選択ボタン押下がピコ手間かも。
ttp://codepad.org/      ほぼ直感的に使える。Run codeボタンあり。
ttp://pastebin.com/     まずまずシンプル。
ttp://dpaste.com/      とてもシンプル。消えるまでの日数は十分長ーく指定のこと。

◇Python公式サイト◇ http://www.python.org/
◇まとめwiki◇ ttp://python.rdy.jp/wiki.cgi

〇前スレ〇 くだすれPython(超初心者用) その49【まず1嫁】
https://mevius.5ch.net/test/read.cgi/tech/1595057607/

次スレは >>985 あたりが挑戦してくだしあ。(980過ぎて自動落ちは、無くなって久しい)
### END OF TEMPLATE ###
0999デフォルトの名無しさん
垢版 |
2020/08/28(金) 05:46:10.75ID:CpPsneSY
おっパイソン
10011001
垢版 |
Over 1000Thread
このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 40日 15時間 17分 5秒
10021002
垢版 |
Over 1000Thread
5ちゃんねるの運営はプレミアム会員の皆さまに支えられています。
運営にご協力お願いいたします。


───────────────────
《プレミアム会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────

会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。

▼ プレミアム会員登録はこちら ▼
https://premium.5ch.net/

▼ 浪人ログインはこちら ▼
https://login.5ch.net/login.php
レス数が1000を超えています。これ以上書き込みはできません。

ニューススポーツなんでも実況