!extend:default:vvvvv:1000:1024
↑スレ立てる毎に減るので、減ってたら3つに補充すること。
・当スレにRubyのソースコード類を書くことを禁ず
・Ruby等、Pythonではないプログラミング言語での回答類・質問を書くのも禁止
・「Ruby では」「Rubyでは」「Rails」正規表現→「^クソチョンw$」をNGワード登録推奨
・エラーを解決したいときは、かならず
エラー文(勝手に省略orスクショうp等の横着禁止)と
おま環(Pythonのバージョン番号+OS名とバージョン+IDE名)を書け。
★Pythonのソースコードを5ちゃんに直貼はインデントが崩壊するので、
↓等のコードうp用サイトに貼ってきてくだしあ。(スクリーンショットをうpる「横着」禁止)
ttps://techiedelight.com/compiler/ Run Code機能あり。
ttp://ideone.com/ デフォ設定がCなので、Pythonするには言語種選択ボタン押下がピコ手間かも。
ttp://pastebin.com/ まずまずシンプル。
ttp://dpaste.com/ とてもシンプル。消えるまでの日数は十分長ーく指定のこと。
◇Pythonオフィシャルサイト http://www.python.org/
◇Pythonドキュメント https://docs.python.org/ja/3/
◇まとめwiki ttp://python.rdy.jp/
●関連スレ● 自称初心者は↓へ
【まず1嫁】くだすれPython(超初心者用) その58
https://mevius.5ch.net/test/read.cgi/tech/1662514433/
〇前スレ〇
Pythonのお勉強 Part68
https://mevius.5ch.net/test/read.cgi/tech/1663235546/
次スレの建立は>>985が挑戦する。(980通過して24h後も落ちなくなった)
### END of TEMPLATE ### ?
VIPQ2_EXTDAT: default:vvvvv:1000:512:: EXT was configured
Pythonのお勉強 Part69
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん (ワッチョイ c733-stRS)
2022/11/24(木) 21:39:44.67ID:A6xfpKBe0762デフォルトの名無しさん (ワッチョイ f354-gNeF)
2023/01/22(日) 19:17:12.88ID:Dp7umTA90 関数名や変数名から想像した通りに動作をするならコメントは要らない
予想を裏切る行動をする箇所だけコメントが必要
そんな書き方するなという話だけど、そうしないといけない時もある
外部のバグに合わせて仕方なく変なことするとか
再帰呼び出しもコメントが無いとパッと見て判らない
予想を裏切る行動をする箇所だけコメントが必要
そんな書き方するなという話だけど、そうしないといけない時もある
外部のバグに合わせて仕方なく変なことするとか
再帰呼び出しもコメントが無いとパッと見て判らない
763デフォルトの名無しさん (ワッチョイ cf46-l+ta)
2023/01/22(日) 21:39:41.12ID:rHuBFYoH0 >>761
> そもそもそういうコメントが不要なコードのがよくない?
それ、ドキュメント書きを怠けたい人の方便だからね。
誰に聞いたか知らないが、真に受けるのはやめよう。
そもそも、そうのたまう人が説明不要なコードを書いた試し無いでしょ。
> そもそもそういうコメントが不要なコードのがよくない?
それ、ドキュメント書きを怠けたい人の方便だからね。
誰に聞いたか知らないが、真に受けるのはやめよう。
そもそも、そうのたまう人が説明不要なコードを書いた試し無いでしょ。
764デフォルトの名無しさん (ワッチョイ 735f-zz//)
2023/01/22(日) 21:50:50.32ID:HMT2GUgc0 コメントは悪、という思想は悪
その正体は怠慢と傲慢
その正体は怠慢と傲慢
765デフォルトの名無しさん (スッププ Sd1f-msdQ)
2023/01/22(日) 21:56:14.88ID:nZDUyUTud766デフォルトの名無しさん (ワッチョイ 4310-Jpma)
2023/01/22(日) 21:58:28.48ID:mu8Nl5mu0 >>765
同じことをいうヤツが何人もいるが、それは仕様自体を正しく把握してない状態では?
同じことをいうヤツが何人もいるが、それは仕様自体を正しく把握してない状態では?
767デフォルトの名無しさん (ワッチョイ cf63-88l+)
2023/01/22(日) 21:59:29.89ID:CYRi3QMt0 コメント欄は上司の悪口を書いておく場所です
768デフォルトの名無しさん (ワッチョイ 8310-HsLm)
2023/01/22(日) 22:00:55.76ID:tbxzfOk70769デフォルトの名無しさん (ワッチョイ b35c-88l+)
2023/01/22(日) 22:04:13.87ID:vp80yT++0 # 何故動いているのか分からない
# 触るな!キケン!
# 触るな!キケン!
770デフォルトの名無しさん (スッププ Sd1f-msdQ)
2023/01/22(日) 22:10:16.22ID:9Ojcnz4Cd771デフォルトの名無しさん (ワッチョイ ff01-WPS/)
2023/01/22(日) 22:23:35.47ID:o/PhajQ/0 >>765
コードコメントをAPIドキュメントとして使うよう場合は
仕様としての処理の内容をコメントに書く
それに「この行は何をしたいのか」は基本的にコードに書くべきこと
特にPythonのように高レベル言語では意図が伝わるコードを書くべき
コードコメントをAPIドキュメントとして使うよう場合は
仕様としての処理の内容をコメントに書く
それに「この行は何をしたいのか」は基本的にコードに書くべきこと
特にPythonのように高レベル言語では意図が伝わるコードを書くべき
772デフォルトの名無しさん (ワッチョイ cf63-88l+)
2023/01/22(日) 22:28:26.52ID:CYRi3QMt0 # この先地雷原有り
773デフォルトの名無しさん (スッププ Sd1f-msdQ)
2023/01/22(日) 22:29:55.26ID:/fZ7r7w/d >>771
何をしたいのかと何をやってるのかは違うからね
コードから読み取れるのは何をやってるのか(how)だけであり、
なぜ(why)ややりたいこと(want to)は読み取れない
だからこそコードに残せない情報はコメントで残す意味がある
何をしたいのかと何をやってるのかは違うからね
コードから読み取れるのは何をやってるのか(how)だけであり、
なぜ(why)ややりたいこと(want to)は読み取れない
だからこそコードに残せない情報はコメントで残す意味がある
774デフォルトの名無しさん (JP 0H9f-xoCn)
2023/01/22(日) 22:54:57.29ID:R9Yr7t5mH まともなコードを読めば
ドキュメントとコメントと適切な命名、型ヒントの重要性について学べるだろう
個人用の短い書き捨てのコードしか書かないんだったら好きにすりゃいい
ドキュメントとコメントと適切な命名、型ヒントの重要性について学べるだろう
個人用の短い書き捨てのコードしか書かないんだったら好きにすりゃいい
775デフォルトの名無しさん (ワッチョイ 6301-ffW7)
2023/01/22(日) 23:02:22.21ID:bkKT3NQT0 コメントは分かりやすくするためだから長文でダラダラ説明じゃなく要点を端的に示せばいいよね
>>773のとおりどうやってやっているかはコード見ればいいから不要だけど何のための処理かとか入出力変数の内容はメモ欲しいかな
>>773のとおりどうやってやっているかはコード見ればいいから不要だけど何のための処理かとか入出力変数の内容はメモ欲しいかな
776デフォルトの名無しさん (ワッチョイ ff01-WPS/)
2023/01/22(日) 23:25:39.03ID:o/PhajQ/0777デフォルトの名無しさん (ワッチョイ 530c-Nu69)
2023/01/23(月) 02:03:11.45ID:iK9HS79n0 コメント書いてわかりやすくするなら
はじめからわかりやすいコードを書くことを心がけて行きたい
コメントやドキュメントに頼らずに直感的に頭の中にすっと入ってくるコードを目指すべき
はじめからわかりやすいコードを書くことを心がけて行きたい
コメントやドキュメントに頼らずに直感的に頭の中にすっと入ってくるコードを目指すべき
778デフォルトの名無しさん (ワッチョイ a397-xFde)
2023/01/23(月) 08:55:05.46ID:e6QcTLyI0 ユークリッドの互助法みたいなのは、ユークリッドの互助法を行う、でいいと思うけど、
数式をプログラムにする際にやたらに複雑になってしまったような場合は概要だけでなく解説を入れるかな。
glibcのmath.cのcosとかいい例って感じするけど。
数式をプログラムにする際にやたらに複雑になってしまったような場合は概要だけでなく解説を入れるかな。
glibcのmath.cのcosとかいい例って感じするけど。
779デフォルトの名無しさん (ワッチョイ f354-gNeF)
2023/01/23(月) 09:04:24.24ID:ZLTOxX5K0 いわゆる「下回り」は高速性も求められるので、難解になりがちだな
何ならアセンブラで書いてある
そういうダーティな部分は最下層に追いやって、上の方はクリーンに書くので、
そんな難解なものを書けるチャンスはまずやって来ない
何ならアセンブラで書いてある
そういうダーティな部分は最下層に追いやって、上の方はクリーンに書くので、
そんな難解なものを書けるチャンスはまずやって来ない
780デフォルトの名無しさん (ブーイモ MMa7-xFde)
2023/01/23(月) 09:13:35.90ID:JALIr7W8M >>779
numpyとかダーティになりがちだし、自分はnumpyのコードも書くからなあ。そう言うコメントを書く機会ある。
numpyとかダーティになりがちだし、自分はnumpyのコードも書くからなあ。そう言うコメントを書く機会ある。
781デフォルトの名無しさん (ササクッテロラ Spc7-H1Sa)
2023/01/23(月) 09:15:42.81ID:qV3QzySmp あれは実際どの型で動いてるのか不安になる時あるわ
ちょっとコード変えたらエラー出まくりとか嫌になる
ちょっとコード変えたらエラー出まくりとか嫌になる
782デフォルトの名無しさん (アウアウウー Saa7-KLwc)
2023/01/23(月) 15:20:45.47ID:wy0Tx5tFa 普段からコメント書いたり読んだりしてないといきなりは難しい
783デフォルトの名無しさん (ワッチョイ f354-88l+)
2023/01/23(月) 15:25:29.48ID:ZLTOxX5K0 コメントとは違うけど、docopt ってよく出来てる
ドキュメントを書くとその通りに動く
あの無敵な感じを関数単位でやれるといい
ドキュメントを書くとその通りに動く
あの無敵な感じを関数単位でやれるといい
784デフォルトの名無しさん (ワンミングク MMff-KgBz)
2023/01/23(月) 19:31:40.09ID:Hk4+8ffPM785デフォルトの名無しさん (ブーイモ MMff-3swV)
2023/01/24(火) 01:38:47.57ID:k7nS/dQwM 30代Pythonクソチョン男は強姦魔の犯罪者!
あなたの近くにいます!
父母と祖父母の戸籍謄本を提出させましょう!
あなたの近くにいます!
父母と祖父母の戸籍謄本を提出させましょう!
786デフォルトの名無しさん (ワッチョイ 6f7a-um8e)
2023/01/24(火) 23:55:50.38ID:NOigsG6z0 ウェブサイトのデータ抽出してからエクセルにデータ貼り付けて、
そこからさらに重複していないデータ(データ一覧に一つしか存在しないという意味、リストにすでに含まれてたら…ってのはng)だけ取り出したいんだけど、
この重複してないデータの取り出し方法がわかりません
どんな方法ありますか?
そこからさらに重複していないデータ(データ一覧に一つしか存在しないという意味、リストにすでに含まれてたら…ってのはng)だけ取り出したいんだけど、
この重複してないデータの取り出し方法がわかりません
どんな方法ありますか?
787デフォルトの名無しさん (ワッチョイ 8310-HsLm)
2023/01/25(水) 00:04:00.77ID:Eu1oQ2MW0 >>786
Python不得意ならExcelでやればいいんでは?
テキストファイル化してコマンドラインからuniq(PowerShellならGet-Unique)でもええし
Pythonならset(集合)にデータをタプルで入れていけば勝手に一意にはなる
Python不得意ならExcelでやればいいんでは?
テキストファイル化してコマンドラインからuniq(PowerShellならGet-Unique)でもええし
Pythonならset(集合)にデータをタプルで入れていけば勝手に一意にはなる
788デフォルトの名無しさん
2023/01/25(水) 01:26:29.91 #エクセルデータをpandasで読み込んでdataframeに変換する例
import pandas as pd
data = pd.read_excel('path/to/excel_file.xlsx')
#特定のシートだけ読み込む
data = pd.read_excel('path/to/excel_file.xlsx', sheet_name='Sheet1')
#特定の範囲だけ読み込む
data = pd.read_excel('path/to/excel_file.xlsx', usecols='A:C')
#読み込んだあと、特定の列から重複しないユニークな値を抽出する
data = pd.read_excel('path/to/excel_file.xlsx')
unique_values = data['column_name'].unique()
#pandasで重複しない値を取得する例
import pandas as pd
data = {'Name': ['John', 'Mike', 'Brad', 'Jane', 'John', 'Mike'],
'Age': [25, 30, 35, 40, 25, 30],
'City': ['New York', 'Los Angeles', 'Chicago', 'Houston', 'New York', 'Los Angeles']}
df = pd.DataFrame(data)
unique_values = df['Name'].unique()
print(unique_values)
import pandas as pd
data = pd.read_excel('path/to/excel_file.xlsx')
#特定のシートだけ読み込む
data = pd.read_excel('path/to/excel_file.xlsx', sheet_name='Sheet1')
#特定の範囲だけ読み込む
data = pd.read_excel('path/to/excel_file.xlsx', usecols='A:C')
#読み込んだあと、特定の列から重複しないユニークな値を抽出する
data = pd.read_excel('path/to/excel_file.xlsx')
unique_values = data['column_name'].unique()
#pandasで重複しない値を取得する例
import pandas as pd
data = {'Name': ['John', 'Mike', 'Brad', 'Jane', 'John', 'Mike'],
'Age': [25, 30, 35, 40, 25, 30],
'City': ['New York', 'Los Angeles', 'Chicago', 'Houston', 'New York', 'Los Angeles']}
df = pd.DataFrame(data)
unique_values = df['Name'].unique()
print(unique_values)
789デフォルトの名無しさん (テテンテンテン MM7f-xx43)
2023/01/25(水) 01:50:21.75ID:u8Mn4x2gM790デフォルトの名無しさん (ワッチョイ cf46-l+ta)
2023/01/25(水) 02:54:09.95ID:na5kNBW00 >>786
仕様の「リスト」が何を指すか解らない。その一文を無視して、
連想配列(Pythonだとdic?)で、
var["データの1要素"]++
みたいなことをし、
var["データの1要素"] != 1 を捨てるかな。
仕様の「リスト」が何を指すか解らない。その一文を無視して、
連想配列(Pythonだとdic?)で、
var["データの1要素"]++
みたいなことをし、
var["データの1要素"] != 1 を捨てるかな。
791デフォルトの名無しさん (ワッチョイ 530c-Nu69)
2023/01/25(水) 03:11:17.39ID:4wQ5Uou30 >>786
動的計画法で探索したら済む
動的計画法で探索したら済む
792デフォルトの名無しさん (アウアウウー Saa7-DmZS)
2023/01/25(水) 08:15:31.51ID:ByQxjYtpa Ruby 2.7 から、tally で、配列内に同じ要素が何個あるかを数えられる。
そこから、重複していないものをフィルターする
ary = [ 1, 2, 2, 1, 3 ]
p hash = ary.tally #=> {1=>2, 2=>2, 3=>1}
p result = hash.select { |key, val| val == 1 } #=> {3=>1}
そこから、重複していないものをフィルターする
ary = [ 1, 2, 2, 1, 3 ]
p hash = ary.tally #=> {1=>2, 2=>2, 3=>1}
p result = hash.select { |key, val| val == 1 } #=> {3=>1}
793デフォルトの名無しさん (ワッチョイ f354-gNeF)
2023/01/25(水) 09:28:21.85ID:1X933CFM0 既にexcelにあるなら、重複の削除でいいのでは
794デフォルトの名無しさん (ワッチョイ a3dc-Jpma)
2023/01/25(水) 13:48:53.45ID:lTdR++oJ0 >>786
collections.Counterで要素数が1のものだけ抽出すれば?
collections.Counterで要素数が1のものだけ抽出すれば?
795デフォルトの名無しさん (ワッチョイ a3dc-Jpma)
2023/01/25(水) 13:53:44.39ID:lTdR++oJ0 こんな感じで。
import collections
l = ['a', 'a', 'a', 'a', 'b', 'c', 'c']
c = collections.Counter(l)
print([k for k,v in c.items() if v==1])
import collections
l = ['a', 'a', 'a', 'a', 'b', 'c', 'c']
c = collections.Counter(l)
print([k for k,v in c.items() if v==1])
796デフォルトの名無しさん (ワッチョイ a3dc-Jpma)
2023/01/25(水) 13:56:42.38ID:lTdR++oJ0 つか、ここだとmarkdown使えんから
具体的な質問なら、SOとか寺にしたほうがいいよ
具体的な質問なら、SOとか寺にしたほうがいいよ
797デフォルトの名無しさん (スッププ Sd1f-msdQ)
2023/01/25(水) 15:23:19.30ID:B2re/Hy6d というか>>1見ましょうって話だけど
798デフォルトの名無しさん (ワッチョイ 6301-ffW7)
2023/01/25(水) 22:08:02.33ID:BPa0NAyM0799デフォルトの名無しさん (アウアウウー Saa7-Nu69)
2023/01/25(水) 23:56:04.30ID:3IYN0s1Ra 分割統治法の処理に一行追記するだけでできる気が
800デフォルトの名無しさん (ワッチョイ 5346-l+ta)
2023/01/26(木) 00:59:27.75ID:rjz6yl2y0801デフォルトの名無しさん (ワンミングク MM9f-Nu69)
2023/01/26(木) 12:21:48.66ID:M4fxvzOfM 新規性探索アルゴリズムで実装してみてはどうだろう
802デフォルトの名無しさん (スプッッ Sd1f-x5ia)
2023/01/26(木) 12:31:06.80ID:GrZTDGimd おそらく探索系のアルゴリズム使うよりもfind等の関数型でやったほうが強いだろう
rubyならすぐ書けるんだがな
rubyならすぐ書けるんだがな
803デフォルトの名無しさん (ワッチョイ a33c-lQ3q)
2023/01/26(木) 12:43:57.64ID:UdXClMFA0 数が一つを保証するために探索系アルゴリズムもないだろう
N個あったらO(N)で数え上げだろう
N個あったらO(N)で数え上げだろう
804デフォルトの名無しさん (ブーイモ MMff-3swV)
2023/01/26(木) 16:56:31.08ID:T1n7nFq3M 30代Pythonクソチョン男は強姦魔の犯罪者!
あなたの近くにいます!
父母と祖父母の戸籍謄本を提出させましょう!
あなたの近くにいます!
父母と祖父母の戸籍謄本を提出させましょう!
805デフォルトの名無しさん (ワッチョイ 33da-eBUI)
2023/01/26(木) 22:54:11.42ID:Wh8CZgs50 ZDDを
806デフォルトの名無しさん
2023/01/27(金) 16:28:22.40ID:uGmwFOSM これ地味にむずいかもって事例に遭遇した。
ページネーションされているウェブサイトにて
1ページ毎に(日付、値)の形式で何行か表示されていて
(日付、値)だけをスクレイピングするとする
例えばこんな感じ
1ページ目
2023/01/26(木) 22:54:11、1
2023/01/26(木) 22:53:30、2
2023/01/26(木) 22:52:08、1
2ページ目
2023/01/26(木) 22:51:04、1
2023/01/26(木) 22:51:04、2
2023/01/26(木) 22:50:23、1
問題は、
スクレイピング中に、ウェブサイト側がデータを更新した場合
同じ日付を重複して収集してしまう可能性があること。
同じ日付時刻なこと自体は間違いではなく正常なので
ウェブサイトの更新時によるズレなのか、単に同じ日付時刻のデータなのか
を判別する処理が難しいというか、単純であればあるほど
常に最新データを収集するとかでない限り不可能な気がした
ページネーションされているウェブサイトにて
1ページ毎に(日付、値)の形式で何行か表示されていて
(日付、値)だけをスクレイピングするとする
例えばこんな感じ
1ページ目
2023/01/26(木) 22:54:11、1
2023/01/26(木) 22:53:30、2
2023/01/26(木) 22:52:08、1
2ページ目
2023/01/26(木) 22:51:04、1
2023/01/26(木) 22:51:04、2
2023/01/26(木) 22:50:23、1
問題は、
スクレイピング中に、ウェブサイト側がデータを更新した場合
同じ日付を重複して収集してしまう可能性があること。
同じ日付時刻なこと自体は間違いではなく正常なので
ウェブサイトの更新時によるズレなのか、単に同じ日付時刻のデータなのか
を判別する処理が難しいというか、単純であればあるほど
常に最新データを収集するとかでない限り不可能な気がした
807デフォルトの名無しさん (オイコラミネオ MM07-M8KT)
2023/01/27(金) 16:47:43.59ID:c/fSkYwsM808デフォルトの名無しさん
2023/01/27(金) 17:16:38.85809デフォルトの名無しさん (ブーイモ MM1f-/qsW)
2023/01/27(金) 17:38:27.29ID:COYgsLLDM >>806
識別子も更新日時もなくサイレントに更新されるような品質の低いデータならページ単位に取得日時を記録してスナップショットとして割り切るしかない
識別子も更新日時もなくサイレントに更新されるような品質の低いデータならページ単位に取得日時を記録してスナップショットとして割り切るしかない
810デフォルトの名無しさん (スッププ Sd1f-msdQ)
2023/01/27(金) 19:13:48.24ID:ttcy9Q0Rd >>806
スレタイ読める?
スレタイ読める?
811デフォルトの名無しさん (オイコラミネオ MM07-M8KT)
2023/01/27(金) 19:53:07.73ID:wbJwBZC+M >>808
ありがとうございます
ありがとうございます
812デフォルトの名無しさん (ワッチョイ 43ad-qYbV)
2023/01/27(金) 22:54:09.27ID:QwmTjMRl0 >>806
Rakuten Koboの期間で絞り込むと一緒だ
デフォルトが売上順になっていて、ページ移動すると、順番が変わる
結果セットに対して、ページを作成しているのではなく、その都度作成してる。
こうゆう作りの所は、諦めるしかない。
結果セットをいじるのは、勘弁してほしい
(今日出ているのに、ページまたがりで見つからなくて、別のとこで買ったことも)
Rakuten Koboの期間で絞り込むと一緒だ
デフォルトが売上順になっていて、ページ移動すると、順番が変わる
結果セットに対して、ページを作成しているのではなく、その都度作成してる。
こうゆう作りの所は、諦めるしかない。
結果セットをいじるのは、勘弁してほしい
(今日出ているのに、ページまたがりで見つからなくて、別のとこで買ったことも)
813デフォルトの名無しさん (ワッチョイ e3f0-a1fY)
2023/01/27(金) 23:03:53.86ID:wC9qLVMj0 気持ち悪い自演
814デフォルトの名無しさん (ブーイモ MMb6-Db9z)
2023/01/29(日) 11:45:29.18ID:Ac+ianrsM 30代Pythonクソチョン男は強姦魔の犯罪者!
あなたの近くにいます!
父母と祖父母の戸籍謄本を提出させましょう!
あなたの近くにいます!
父母と祖父母の戸籍謄本を提出させましょう!
815デフォルトの名無しさん
2023/01/29(日) 14:25:12.72ID:sXEwsNxr pythonファイルを定期実行するときに、○○秒待機したタスクだけを一度実行(また○○秒待機)
ってこんな面倒だったっけ・・?
https://ideone.com/s6VVQo
whileで無限ループとかだと、経過時間をメモリできるから簡単だけど
pyファイル実行毎だとその都度全部クリアされるからどこかに記録しとかないといけない、という認識であってるのだろうか・・
ほぼ最小構成のつもりでこんなに長くなってしまった
ってこんな面倒だったっけ・・?
https://ideone.com/s6VVQo
whileで無限ループとかだと、経過時間をメモリできるから簡単だけど
pyファイル実行毎だとその都度全部クリアされるからどこかに記録しとかないといけない、という認識であってるのだろうか・・
ほぼ最小構成のつもりでこんなに長くなってしまった
816デフォルトの名無しさん (アウアウウー Sa47-flzY)
2023/01/30(月) 15:47:46.06ID:6GqSWy3Oa817デフォルトの名無しさん
2023/01/30(月) 17:17:45.74ID:U0BG6clG プロセスごとだと、タスクごとにpyファイルを分けて
例えば
task1.py task2.py ・・・
みたいに分けて
OSの方でそのpyファイルを定期実行する感じですかね
仮に、どこからか情報を取得するようなタスクだったら、DBに記録して
DBから情報を取得して処理する.py
に分けて、それも定期実行する
みたいな
もちろんやり方は自由なんだろうけど
実行時間に依存した料金体系のサービスで節約したい場合とか
ループ使わないだけで構成変わっちゃうので、かつ汎用性持たせようとして苦労してます・・
ありがとうございました >>816
例えば
task1.py task2.py ・・・
みたいに分けて
OSの方でそのpyファイルを定期実行する感じですかね
仮に、どこからか情報を取得するようなタスクだったら、DBに記録して
DBから情報を取得して処理する.py
に分けて、それも定期実行する
みたいな
もちろんやり方は自由なんだろうけど
実行時間に依存した料金体系のサービスで節約したい場合とか
ループ使わないだけで構成変わっちゃうので、かつ汎用性持たせようとして苦労してます・・
ありがとうございました >>816
818デフォルトの名無しさん (アウアウウー Sa47-flzY)
2023/01/30(月) 19:13:50.35ID:6GqSWy3Oa >>817
金額が安いのはサーバレスサービスかな
例えばhttpで受け付けるAPIを用意して、AWSでLambdaファンクションをCloudWatch経由でたたく
1分に1回実行するとして2000円以下だと思う
それも高いと言うなら月額1000円未満のVPS借りてLinuxでcronかな
金額が安いのはサーバレスサービスかな
例えばhttpで受け付けるAPIを用意して、AWSでLambdaファンクションをCloudWatch経由でたたく
1分に1回実行するとして2000円以下だと思う
それも高いと言うなら月額1000円未満のVPS借りてLinuxでcronかな
819デフォルトの名無しさん (ワッチョイ 3635-5T4A)
2023/01/31(火) 14:03:50.00ID:F8VbnJh50 https://github.com/fanzeyi/pokemon.json/blob/master/pokedex.json
*火(Fire)と飛翔(Flying)の属性を持ったポケモンの数を表示
*消防士向きのポケモンを判定する 図鑑番号を指定して 水(Water)のタイプをもっていて、すばやさが平均以上の ポケモンであれば、採用と表示する
*発電向きのポケモンを判定する 図鑑番号を指定して でんき(Electric)のタイプをもっていて、ぼうぎょりょくが中央値以上の ポケモンであれば、採用と表示する
誰かこれの回答と解説お願いできる?
*火(Fire)と飛翔(Flying)の属性を持ったポケモンの数を表示
*消防士向きのポケモンを判定する 図鑑番号を指定して 水(Water)のタイプをもっていて、すばやさが平均以上の ポケモンであれば、採用と表示する
*発電向きのポケモンを判定する 図鑑番号を指定して でんき(Electric)のタイプをもっていて、ぼうぎょりょくが中央値以上の ポケモンであれば、採用と表示する
誰かこれの回答と解説お願いできる?
820デフォルトの名無しさん (ワッチョイ 3635-5T4A)
2023/01/31(火) 14:04:37.72ID:F8VbnJh50 import urllib
import json
response = urllib.request.urlopen('https://raw.githubusercontent.com/fanzeyi/pokemon.json/master/pokedex.json')
content = response.read()
jpk = json.loads(content)
jpk
import json
response = urllib.request.urlopen('https://raw.githubusercontent.com/fanzeyi/pokemon.json/master/pokedex.json')
content = response.read()
jpk = json.loads(content)
jpk
821デフォルトの名無しさん (ワッチョイ 3635-5T4A)
2023/01/31(火) 14:05:09.66ID:F8VbnJh50 頼む
822デフォルトの名無しさん (ワッチョイ 4ea4-5T4A)
2023/01/31(火) 14:41:57.01ID:M1DmxzTw0 PySimpleGUIで2つの最大サイズの画面を遷移させたいのですが、
ウインドウを作成しておいて表示/非表示で見た目に入れ替えようとしました。
# 最初にウインドウの起動位置を指定して起動
main_window = make_main(0, 0)
sub_window = make_sub(0, 0)
# サブウインドウを非表示にする
sub_window.hide()
main_windowにあるボタンを押すと
# サブウインドウを表示する
sub_window.un_hide()
サブウインドウが最前面に表示されます。
その後、sub_windowにあるボタンを押して、
# サブウインドウを非表示にする
sub_window.hide()
メインウインドウを最前面にしようとしてもサブウインドウが最前面に表示されたままです。
双方のボタンで前後入れ替えて表示したいのですが、良い案はありませんでしょうか。
ウインドウを作成しておいて表示/非表示で見た目に入れ替えようとしました。
# 最初にウインドウの起動位置を指定して起動
main_window = make_main(0, 0)
sub_window = make_sub(0, 0)
# サブウインドウを非表示にする
sub_window.hide()
main_windowにあるボタンを押すと
# サブウインドウを表示する
sub_window.un_hide()
サブウインドウが最前面に表示されます。
その後、sub_windowにあるボタンを押して、
# サブウインドウを非表示にする
sub_window.hide()
メインウインドウを最前面にしようとしてもサブウインドウが最前面に表示されたままです。
双方のボタンで前後入れ替えて表示したいのですが、良い案はありませんでしょうか。
823デフォルトの名無しさん
2023/01/31(火) 15:06:40.46 AIに聞いた結果 >>819
合っているかはわからん
import urllib
import json
import pandas as pd
response = urllib.request.urlopen('https://raw.githubusercontent.com/fanzeyi/pokemon.json/master/pokedex.json')
content = response.read()
jpk = json.loads(content)
#print(jpk)
df = pd.DataFrame(jpk)
df['name']=df['name'].apply(lambda x: x['japanese'])
df=df.join(df["base"].apply(pd.Series)).drop(columns=["base"])
#火(Fire)と飛翔(Flying)の属性を持ったポケモンの数を表示
target_types = ['Fire','Flying']
count = sum([all(value in row for value in target_types) for row in df['type']])
print("typeがFireとFlyingのポケモンの数",count)
#消防士向きのポケモンを判定する 図鑑番号を指定して 水(Water)のタイプをもっていて、すばやさが平均以上の ポケモンであれば、採用と表示する
target_types = ["Water"]
m_speed=df["Speed"].mean()
filtered_df = df[df.apply(lambda row: all(value in row['type'] for value in target_types) and row['Speed'] >= m_speed, axis=1)]
print("消防士向きのポケモン\n",list(filtered_df["name"]))
#発電向きのポケモンを判定する 図鑑番号を指定して でんき(Electric)のタイプをもっていて、ぼうぎょりょくが中央値以上の ポケモンであれば、採用と表示する
target_types = ["Electric"]
m_defense=df["Defense"].median()
filtered_df = df[df.apply(lambda row: all(value in row['type'] for value in target_types) and row['Defense'] >= m_defense, axis=1)]
print("発電向きのポケモン\n",list(filtered_df["name"]))
#typeがFireとFlyingのポケモンの数 6
# 消防士向きのポケモン ['カメックス', 'ゴルダック', 'ニョロモ', 'ニョロゾ', 'ニョロボン', 略
# 発電向きのポケモン ['コイル', 'レアコイル', 'マルマイン', 'サンダー', 'デンリュウ', 'ライコウ', 略
合っているかはわからん
import urllib
import json
import pandas as pd
response = urllib.request.urlopen('https://raw.githubusercontent.com/fanzeyi/pokemon.json/master/pokedex.json')
content = response.read()
jpk = json.loads(content)
#print(jpk)
df = pd.DataFrame(jpk)
df['name']=df['name'].apply(lambda x: x['japanese'])
df=df.join(df["base"].apply(pd.Series)).drop(columns=["base"])
#火(Fire)と飛翔(Flying)の属性を持ったポケモンの数を表示
target_types = ['Fire','Flying']
count = sum([all(value in row for value in target_types) for row in df['type']])
print("typeがFireとFlyingのポケモンの数",count)
#消防士向きのポケモンを判定する 図鑑番号を指定して 水(Water)のタイプをもっていて、すばやさが平均以上の ポケモンであれば、採用と表示する
target_types = ["Water"]
m_speed=df["Speed"].mean()
filtered_df = df[df.apply(lambda row: all(value in row['type'] for value in target_types) and row['Speed'] >= m_speed, axis=1)]
print("消防士向きのポケモン\n",list(filtered_df["name"]))
#発電向きのポケモンを判定する 図鑑番号を指定して でんき(Electric)のタイプをもっていて、ぼうぎょりょくが中央値以上の ポケモンであれば、採用と表示する
target_types = ["Electric"]
m_defense=df["Defense"].median()
filtered_df = df[df.apply(lambda row: all(value in row['type'] for value in target_types) and row['Defense'] >= m_defense, axis=1)]
print("発電向きのポケモン\n",list(filtered_df["name"]))
#typeがFireとFlyingのポケモンの数 6
# 消防士向きのポケモン ['カメックス', 'ゴルダック', 'ニョロモ', 'ニョロゾ', 'ニョロボン', 略
# 発電向きのポケモン ['コイル', 'レアコイル', 'マルマイン', 'サンダー', 'デンリュウ', 'ライコウ', 略
824デフォルトの名無しさん
2023/01/31(火) 15:11:42.84 >>822
PySimpleGUI の bring_to_front() 関数を使って、ウインドウを最前面に表示することができます。
以下は、サブウインドウを最前面に表示する例です:
sub_window.un_hide()
sub_window.bring_to_front()
また、メインウインドウを最前面に表示するには、以下のようにします:
main_window.bring_to_front()
このように、各ウインドウを最前面に表示することで、ボタンを押したときに前後入れ替えて表示することができます。
PySimpleGUI の bring_to_front() 関数を使って、ウインドウを最前面に表示することができます。
以下は、サブウインドウを最前面に表示する例です:
sub_window.un_hide()
sub_window.bring_to_front()
また、メインウインドウを最前面に表示するには、以下のようにします:
main_window.bring_to_front()
このように、各ウインドウを最前面に表示することで、ボタンを押したときに前後入れ替えて表示することができます。
825デフォルトの名無しさん (ワッチョイ 4ea4-5T4A)
2023/01/31(火) 15:22:58.11ID:M1DmxzTw0826デフォルトの名無しさん (ワッチョイ 3635-5T4A)
2023/01/31(火) 15:30:49.11ID:F8VbnJh50 >>823
多分あってます、ありがとうございます!
多分あってます、ありがとうございます!
827デフォルトの名無しさん
2023/01/31(火) 15:43:13.04 >>823,>>819
>水(Water)のタイプをもっていて、すばやさが平均以上
>でんき(Electric)のタイプをもっていて、ぼうぎょりょくが中央値以上
全水タイプの素早さの平均値
全でんきタイプのぼうぎょりょくの中央値、なら
#消防士向きのポケモンを判定する 図鑑番号を指定して 水(Water)のタイプをもっていて、すばやさが平均以上の ポケモンであれば、採用と表示する
target_types = ["Water"]
new_df=df[df['type'].apply(lambda x: all(value in x for value in target_types))]
m_speed=new_df["Speed"].mean()
filtered_df = new_df[new_df.apply(lambda row: all(value in row['type'] for value in target_types) and row['Speed'] >= m_speed, axis=1)]
print(f"消防士向きのポケモン: {len(filtered_df)}\n",list(filtered_df["name"]))
#発電向きのポケモンを判定する 図鑑番号を指定して でんき(Electric)のタイプをもっていて、ぼうぎょりょくが中央値以上の ポケモンであれば、採用と表示する
target_types = ["Electric"]
new_df=df[df['type'].apply(lambda x: all(value in x for value in target_types))]
m_defense=new_df["Defense"].median()
filtered_df = new_df[new_df.apply(lambda row: all(value in row['type'] for value in target_types) and row['Defense'] >= m_defense, axis=1)]
print(f"発電向きのポケモン: {len(filtered_df)}\n",list(filtered_df["name"]))
#typeがFireとFlyingのポケモン 6 ['リザードン', 'ファイヤー', 'ホウオウ', 'ヒノヤコマ', 'ファイアロー', 'オドリドリ']
#消防士向きのポケモン: 65
#['カメックス', 'ゴルダック', 'ニョロモ', 'ニョロゾ', 'ニョロボン', 略
#発電向きのポケモン: 27
#['コイル', 'レアコイル', 'マルマイン', 'サンダース', 'サンダー', 'デンリュウ', 'ライコウ', 略
>水(Water)のタイプをもっていて、すばやさが平均以上
>でんき(Electric)のタイプをもっていて、ぼうぎょりょくが中央値以上
全水タイプの素早さの平均値
全でんきタイプのぼうぎょりょくの中央値、なら
#消防士向きのポケモンを判定する 図鑑番号を指定して 水(Water)のタイプをもっていて、すばやさが平均以上の ポケモンであれば、採用と表示する
target_types = ["Water"]
new_df=df[df['type'].apply(lambda x: all(value in x for value in target_types))]
m_speed=new_df["Speed"].mean()
filtered_df = new_df[new_df.apply(lambda row: all(value in row['type'] for value in target_types) and row['Speed'] >= m_speed, axis=1)]
print(f"消防士向きのポケモン: {len(filtered_df)}\n",list(filtered_df["name"]))
#発電向きのポケモンを判定する 図鑑番号を指定して でんき(Electric)のタイプをもっていて、ぼうぎょりょくが中央値以上の ポケモンであれば、採用と表示する
target_types = ["Electric"]
new_df=df[df['type'].apply(lambda x: all(value in x for value in target_types))]
m_defense=new_df["Defense"].median()
filtered_df = new_df[new_df.apply(lambda row: all(value in row['type'] for value in target_types) and row['Defense'] >= m_defense, axis=1)]
print(f"発電向きのポケモン: {len(filtered_df)}\n",list(filtered_df["name"]))
#typeがFireとFlyingのポケモン 6 ['リザードン', 'ファイヤー', 'ホウオウ', 'ヒノヤコマ', 'ファイアロー', 'オドリドリ']
#消防士向きのポケモン: 65
#['カメックス', 'ゴルダック', 'ニョロモ', 'ニョロゾ', 'ニョロボン', 略
#発電向きのポケモン: 27
#['コイル', 'レアコイル', 'マルマイン', 'サンダース', 'サンダー', 'デンリュウ', 'ライコウ', 略
828デフォルトの名無しさん (ワッチョイ 83f0-2bgE)
2023/01/31(火) 16:34:08.98ID:yVHAxCVq0 いつまでここにコード貼り付けてるんだ?
>>1が読めないのか?
>>1が読めないのか?
829デフォルトの名無しさん
2023/01/31(火) 16:38:55.16ID:s5HjvgLO fastAPIのこれが謎技術すぎて理解が追いつかない
https://sqlmodel.tiangolo.com/tutorial/fastapi/session-with-dependency/
要約すると
def db_session():
with Session(engine) as session:
yield session
session=Depends(db_session)
session.add(...)
session.add(...)
的にコードはwith構文の外に書いているのに、処理はwith内で書いたときのような効果が維持されてる(with抜けるときに勝手にsession.close()してくれるなど)、みたいな
from fastapi import Dependsってクラスか何かを通してるみたいで
https://github.com/tiangolo/fastapi/blob/master/fastapi/dependencies/utils.py
この辺ぽいけど見たけどよくわからなかった
https://sqlmodel.tiangolo.com/tutorial/fastapi/session-with-dependency/
要約すると
def db_session():
with Session(engine) as session:
yield session
session=Depends(db_session)
session.add(...)
session.add(...)
的にコードはwith構文の外に書いているのに、処理はwith内で書いたときのような効果が維持されてる(with抜けるときに勝手にsession.close()してくれるなど)、みたいな
from fastapi import Dependsってクラスか何かを通してるみたいで
https://github.com/tiangolo/fastapi/blob/master/fastapi/dependencies/utils.py
この辺ぽいけど見たけどよくわからなかった
830デフォルトの名無しさん (ワッチョイ 5f0c-0Tvu)
2023/01/31(火) 18:26:25.76ID:Bz7d934y0 めっちゃ簡単に説明するとじゃ~と流せなくてちょびちょび流すようなことしてる感じかな
831デフォルトの名無しさん (ワッチョイ 4ef2-5T4A)
2023/01/31(火) 22:49:45.03ID:ElV7WbZZ0 >>819の者です。
多分あってるといったけど問題文にあってませんでした。
下のurlの問題について
https://dpaste.com/E2T6AX67C
しらべた末に自分なりにif inをつかったけどダメでした
正解をおしえてほしいです
多分あってるといったけど問題文にあってませんでした。
下のurlの問題について
https://dpaste.com/E2T6AX67C
しらべた末に自分なりにif inをつかったけどダメでした
正解をおしえてほしいです
832デフォルトの名無しさん
2023/02/01(水) 01:43:38.22 >>831
・水タイプ全体のすばやさの平均なのか、全ポケモンのすばやさの平均なのか
前者の”水タイプ全体の平均”とするなら
https://dpaste.com/CUY959GZD
https://i.imgur.com/j02A1GX.jpg
・水タイプ全体のすばやさの平均なのか、全ポケモンのすばやさの平均なのか
前者の”水タイプ全体の平均”とするなら
https://dpaste.com/CUY959GZD
https://i.imgur.com/j02A1GX.jpg
833デフォルトの名無しさん (ワッチョイ 4ef2-5T4A)
2023/02/01(水) 01:50:28.37ID:p7QqUxzi0834デフォルトの名無しさん
2023/02/01(水) 06:39:17.75ID:4XVMJZMA 再現しようとしたけど断念しました >>829
#通常通りwith文のブロックの中で処理をする
https://ideone.com/QROz2s
#with文から外れてwith処理をする
https://ideone.com/zRNmKr
withブロックに依存しないwith処理まではできたけど
その分余計なコードが増えた・・
#通常通りwith文のブロックの中で処理をする
https://ideone.com/QROz2s
#with文から外れてwith処理をする
https://ideone.com/zRNmKr
withブロックに依存しないwith処理まではできたけど
その分余計なコードが増えた・・
835デフォルトの名無しさん (アウアウウー Sa47-DSsr)
2023/02/01(水) 13:32:08.04ID:BH4poKX+a with は、Ruby のコンテキスト(文脈)マネージャーみたいな奴か?
File.open(file_path, 'w') { |io| io.write "あ" } # 書き込み
File.openにブロックを渡すと、
正常時・エラー時に、自動的にファイルを閉じてくれる機能
自分でエラー処理を書かなくてもよい
File.open(file_path, 'w') { |io| io.write "あ" } # 書き込み
File.openにブロックを渡すと、
正常時・エラー時に、自動的にファイルを閉じてくれる機能
自分でエラー処理を書かなくてもよい
836デフォルトの名無しさん (ワッチョイ 4710-jPli)
2023/02/01(水) 13:46:14.41ID:n4KWr8vq0 Rubyのコンテキストマネージャーって何w
openがそういう実装になってるだけですやん
openがそういう実装になってるだけですやん
837デフォルトの名無しさん (ワッチョイ 4e10-ozkd)
2023/02/01(水) 16:08:22.19ID:stnVYJIM0 さわっちゃだめ
838デフォルトの名無しさん (ワッチョイ 3b5f-+rQD)
2023/02/01(水) 18:46:44.78ID:PZvaggtd0 >>817
俺ならシェルスクリプトで
ループ内で最小単位の時間でsleep、カウンターの剰余0で実行
バッチファイルなら常駐メモリは2MB以下ですむ
:TOP
timeout /nobreak 10
set /a cx+=1
set /a t=cx%6
if %t%==0 task1.py
set /a t=cx%30
if %t%==0 task2.py
goto TOP
こんな感じ
俺ならシェルスクリプトで
ループ内で最小単位の時間でsleep、カウンターの剰余0で実行
バッチファイルなら常駐メモリは2MB以下ですむ
:TOP
timeout /nobreak 10
set /a cx+=1
set /a t=cx%6
if %t%==0 task1.py
set /a t=cx%30
if %t%==0 task2.py
goto TOP
こんな感じ
839デフォルトの名無しさん
2023/02/02(木) 13:56:48.73ID:KmBGO/iG ミックスインなるデザインパターンを見たけど
これほんとにメンテナンス楽になるんだろうか。。
端的には、
それ単体では実行できない部分に細分化したクラスを継承する
だけど
細分化した先のメソッドで「このプロパティなんだったっけ?」ってなるような
これほんとにメンテナンス楽になるんだろうか。。
端的には、
それ単体では実行できない部分に細分化したクラスを継承する
だけど
細分化した先のメソッドで「このプロパティなんだったっけ?」ってなるような
840デフォルトの名無しさん (ワッチョイ 8754-+rQD)
2023/02/02(木) 16:53:18.68ID:r1wDpa0G0 デザインパターンの本折角買ったのに全く読んでねえ
841デフォルトの名無しさん (ワッチョイ 2b10-jPli)
2023/02/02(木) 17:01:42.99ID:6VWl20Ht0842デフォルトの名無しさん
2023/02/02(木) 18:23:59.93ID:KmBGO/iG Mixin+継承で書いたの
https://ideone.com/5GpJQ2
普通の継承で書いたの
https://ideone.com/8wRFFB
publicとprivate機能を追加したくなったとき
Mixinのとき
https://ideone.com/RRy6OW
普通の継承のとき
https://ideone.com/L3BS95
Mixin+継承のメリット
・Mixinクラス名を見ればそのクラスが何の機能を持つかわかる
・他の親クラスに転用できる
デメリット
・子クラスや他の継承クラスを変更するとき面倒くさそう
普通の継承のメリット
・継承元クラスにいろいろまとめることができる
デメリット
・親クラスを変更するとき親クラスに何の機能があるのかを把握した上で継承クラスを変更しなければならない
そもそもMixinの概念が合っているかどうかわからないけどこんな感じだろうか・・
https://ideone.com/5GpJQ2
普通の継承で書いたの
https://ideone.com/8wRFFB
publicとprivate機能を追加したくなったとき
Mixinのとき
https://ideone.com/RRy6OW
普通の継承のとき
https://ideone.com/L3BS95
Mixin+継承のメリット
・Mixinクラス名を見ればそのクラスが何の機能を持つかわかる
・他の親クラスに転用できる
デメリット
・子クラスや他の継承クラスを変更するとき面倒くさそう
普通の継承のメリット
・継承元クラスにいろいろまとめることができる
デメリット
・親クラスを変更するとき親クラスに何の機能があるのかを把握した上で継承クラスを変更しなければならない
そもそもMixinの概念が合っているかどうかわからないけどこんな感じだろうか・・
843デフォルトの名無しさん (ワッチョイ 83f0-2bgE)
2023/02/02(木) 18:51:04.22ID:NBDZ59im0 mixinも継承も使わないのがベスト
そもそも継承して使うクラスというのが既にオワコン
そもそも継承して使うクラスというのが既にオワコン
844デフォルトの名無しさん (ワッチョイ 8754-+rQD)
2023/02/02(木) 19:19:04.01ID:r1wDpa0G0 クラス継承は人類にはまだ早い
845デフォルトの名無しさん (ワッチョイ e301-QSlO)
2023/02/02(木) 23:05:14.98ID:vvZK94Dt0 無理にデザインパターンにはめようとして逆に仕事増やす人いるよね
846デフォルトの名無しさん (ワッチョイ 8754-VB2L)
2023/02/03(金) 08:56:19.76ID:4ZQXLYki0 人類の敵
役人マインド
役人マインド
847デフォルトの名無しさん (ワッチョイ 4f02-4osW)
2023/02/04(土) 22:55:39.41ID:8GYKU8d40 どなたかご教示願います。
・PDFにページ番号を付加するために「PyPDF2」を使ったプログラムを組んでいます。
・reader.getNumPages() という関数を使って、自宅で試作して成功しました。
・許可を受けて、会社のPCにPythonとPyPDF2をインストールして同じコードを実行したころ、
PyPDF2のバージョンが上がったため使っていた関数が使えなくなりました。
・修正する時間もないので、PyPDF2の旧バージョンをインストールしたいのですが、
そういう方法はありますか?
Python3.9を使用しています。
PyPDFは旧2.2を使用していて、現在は3.0が最新です。
何卒よろしくお願いします。
・PDFにページ番号を付加するために「PyPDF2」を使ったプログラムを組んでいます。
・reader.getNumPages() という関数を使って、自宅で試作して成功しました。
・許可を受けて、会社のPCにPythonとPyPDF2をインストールして同じコードを実行したころ、
PyPDF2のバージョンが上がったため使っていた関数が使えなくなりました。
・修正する時間もないので、PyPDF2の旧バージョンをインストールしたいのですが、
そういう方法はありますか?
Python3.9を使用しています。
PyPDFは旧2.2を使用していて、現在は3.0が最新です。
何卒よろしくお願いします。
848デフォルトの名無しさん (ワッチョイ 0f10-w5wC)
2023/02/04(土) 23:05:28.75ID:Mjpe5lc+0 >>847
pipつかってる前提だけど
https://pip.pypa.io/en/stable/user_guide/#installing-packages
そして他へ配布する場合は
https://pip.pypa.io/en/stable/user_guide/#requirements-files
としてあげる
pipつかってる前提だけど
https://pip.pypa.io/en/stable/user_guide/#installing-packages
そして他へ配布する場合は
https://pip.pypa.io/en/stable/user_guide/#requirements-files
としてあげる
849デフォルトの名無しさん (ワッチョイ 0f54-Y9LM)
2023/02/05(日) 08:58:36.70ID:eiY3kUbi0 PyMuPDFが好き
なんでfitzなのか知らんけど
何をやるにしてもpdfは闇が深すぎる気がする
なんでfitzなのか知らんけど
何をやるにしてもpdfは闇が深すぎる気がする
850デフォルトの名無しさん (ワッチョイ 4f01-mMLA)
2023/02/05(日) 11:11:37.38ID:vWrwcA+50 >>847
2.2.0 なら
https://pypi.org/project/PyPDF2/2.2.0/#files
てかリリース履歴から任意のバージョンを取得できるよ
https://pypi.org/project/PyPDF2/#history
2.2.0 なら
https://pypi.org/project/PyPDF2/2.2.0/#files
てかリリース履歴から任意のバージョンを取得できるよ
https://pypi.org/project/PyPDF2/#history
851デフォルトの名無しさん (ワッチョイ 0f5f-ED1F)
2023/02/05(日) 20:10:21.25ID:jIVcFujk0 pdfは厄介や
見る分はいいが、いじり出すとな
見る分はいいが、いじり出すとな
852デフォルトの名無しさん (ワッチョイ 0f54-4osW)
2023/02/05(日) 20:18:57.59ID:eiY3kUbi0 pdf関連のツールとかも無数にあるけど、みんな不完全にしか動かない
ターゲットを限定して、自分専用のを各自作るのが結局一番いい
ターゲットを限定して、自分専用のを各自作るのが結局一番いい
853デフォルトの名無しさん (ワッチョイ 0f5f-ED1F)
2023/02/05(日) 21:18:04.66ID:jIVcFujk0 perl の時代はexcelもだめだめやった
今はマシやが、pdfがfinal frontierになっとる
今はマシやが、pdfがfinal frontierになっとる
854デフォルトの名無しさん (ワッチョイ 0f54-4osW)
2023/02/05(日) 21:39:21.13ID:eiY3kUbi0 perlでexcelは現役でやってたりする
excelインストール済の環境でWin32::OLEで使う
単にexcelを自動操縦してるだけ
互換性100%
excelインストール済の環境でWin32::OLEで使う
単にexcelを自動操縦してるだけ
互換性100%
855デフォルトの名無しさん (ブーイモ MM4f-68U3)
2023/02/07(火) 22:44:36.78ID:JLSdttvwM 30代Pythonクソチョン男は強姦魔の犯罪者!
あなたの近くにいます!
父母と祖父母の戸籍謄本を提出させましょう!
あなたの近くにいます!
父母と祖父母の戸籍謄本を提出させましょう!
856デフォルトの名無しさん (ワッチョイ 0f5f-ED1F)
2023/02/08(水) 14:33:54.91ID:nmN/DJX90857デフォルトの名無しさん (アウアウウー Sa93-iRuy)
2023/02/08(水) 19:23:21.18ID:HmLip+MXa OLEっていまだに動くのがすごいよな
セキュリティなんかガバガバだろうけど
セキュリティなんかガバガバだろうけど
858デフォルトの名無しさん (ワンミングク MM9f-rTE1)
2023/02/08(水) 20:42:51.28ID:rgNELHZyM つくしんぼうだとガバガバ
859デフォルトの名無しさん (ワッチョイ 0f54-4osW)
2023/02/08(水) 20:54:17.75ID:H2y39Faw0 テキストとしてコピペしたつもりなのに勝手に色とかフォントとか付いてくるのはOLEのせい
860デフォルトの名無しさん (ワッチョイ 3f02-9FIK)
2023/02/09(木) 19:27:56.84ID:2nq9WSR10 ダウト
861デフォルトの名無しさん (ワッチョイ 4f01-l15R)
2023/02/09(木) 23:51:13.50ID:0zz5GtIk0 スレ的に、pycharmとvscodeだとどちらが優勢?
■ このスレッドは過去ログ倉庫に格納されています
