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

レス数が900を超えています。1000を超えると表示できなくなるよ。
2022/09/07(水) 10:33:53.50ID:RjZl78eW
当スレに★Python以外のプログラミング言語での回答類を書くべからず★
派生言語はそれぞれ専スレがある(この板にあるとは限らない)ので、そっち池。
「Ruby」「Rails」「某言語では」「クソチョンw」をNGワード登録推奨。荒らしは、完全スルー放置が一番きらいです。

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

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

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

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

次スレたては >>985 あたりが挑戦する。
### END OF TEMPLATE ###
833デフォルトの名無しさん
垢版 |
2023/05/21(日) 05:35:06.71ID:kjzRL6kn
Getting Started with Headless Chrome - Chrome Developers
ps://developer.chrome.com/blog/headless-chrome/
Chrome’s Headless mode gets an upgrade: introducing `--headless=new` - Chrome Developers
ps://developer.chrome.com/articles/new-headless/#-virtual-time-budget

"C:\Program Files\Google\Chrome\Application\chrome.exe" --headless --disable-gpu --virtual-time-budget=10000 --window-size=1920,2100 --screenshot=c:\Pictures\screenshot-21.png "スクリーンショットを撮りたいページのURL"
2023/05/21(日) 11:12:03.76ID:hzjc2KCd
>>832
出来ました。
frameに切り替える必要があるなんて初めて知りました。
本当にありがとうございます。
2023/05/22(月) 03:22:18.92ID:+e0jygvo
# >>828-829
site = '''\
外務省
G7広島サミット\
'''

url = "htt" + "ps://www.mofa.go.jp/mofaj/ms/g7hs_s/page1_001673.html"

print( site.replace("\n", " > "), url, sep="\n" )
836デフォルトの名無しさん
垢版 |
2023/05/23(火) 08:38:40.20ID:pqsi5Ho/
スレとはあんま関係ないかもしれんが、デバッグの方法やらテストの方法やらってどこで学ぶの?
vscodeにその機能があるらしいとは知っててもろくに使えない
使い方やコツみたいなのあったら教えて
837819
垢版 |
2023/05/23(火) 08:59:30.99ID:d8FV5sbM
>>836
vscode python デバッグ でググる
838デフォルトの名無しさん
垢版 |
2023/05/23(火) 13:43:59.19ID:WU8GLoy9
Debugging configurations for Python apps in Visual Studio Code
ps://code.visualstudio.com/docs/python/debugging
2023/05/23(火) 19:55:51.71ID:JMXPuiCR
計算処理しかしたことないけどデバッグはprint関数を置きまくって、実行はステップ実行。
ステップ実行もしないけど。
vscodeのステップ実行はブレークポイントを設置したところからしかできないようだ。
2023/05/24(水) 01:44:50.96ID:iSsmVkws
>>833
>C:\Program Files
じゃなくて、

C:\Program Files (x86)
じゃないの?
2023/05/24(水) 15:13:01.76ID:e8mgmyMR
画像をスクレイピングする場合、
ブラウザを立ち上げず、リクエストライブラリを使用するのと
ブラウザを立ち上げて行う2つの方法がありますが
どちらが良いのでしょうか?
842デフォルトの名無しさん
垢版 |
2023/05/24(水) 15:38:12.72ID:81lSzauF
>>841
状況次第
まずはブラウザが必要かどうかを判断すること
2023/05/24(水) 16:36:40.21ID:e8mgmyMR
>>842
すみませんがわかりません。
必要かどうかはどうやって判断するのですか?
2023/05/24(水) 16:47:21.89ID:JcQICt1W
言い換えになるけどリクエストライブラリで事足りるかどうか
一般的にはブラウザ経由の方が処理時間やコストが増えるから避けるけど
そんなの困ってないよってならわかりやすい方のがいい
混在させるよりブラウザのみの方が統一感あるかもしれんし(しらんけど)
845デフォルトの名無しさん
垢版 |
2023/05/24(水) 17:03:00.18ID:CWlHzDqw
>>843
リクエストライブラリってのは
簡単に言うとHTTPのGETやPOSTしかできないわけ
ログイン処理が必要ならブラウザを介して入力フォームにIDとパスワードを入力してログインボタンを押すのとは違って
ログインボタンが押されたときに発行されてるPOSTリクエストを自分でHTTPリクエストを組み立てる必要がある
さらにログインが成功したときのHTTPレスポンスに含まれるログイン済みを示す情報を引き継ぎながら次のリクエストを発行しないといけない

要するにブラウザがHTTP通信以外でやってくれてることをブラウザを使わずにやるかブラウザを使ってやるかの違い
2023/05/24(水) 17:42:23.43ID:e8mgmyMR
>>844
>>845
ありがとうございます。おそらくですが理解できました。
勉強不足なのでしばらくはブラウザを立ち上げての実行にしていきます。
847デフォルトの名無しさん
垢版 |
2023/05/24(水) 18:45:10.57ID:sa8KwLuD
画像URLの抽出にログインやJavaScriptの実行が不要なサイトならRequsts使った方が簡単かもしれないよ
スクレイピングをそこそこやるなら両方やっとくといいと思う
2023/05/24(水) 18:50:12.46ID:o9Uxzgb8
>>840
ショートカットのリンク先が"C:\Program Files\Google\Chrome\Application\chrome.exe"だった
環境によって違うかも
2023/05/28(日) 02:49:17.77ID:XJdWjJIm
画像のURLぶっこ抜いてHTML生成してブラウザ表示してSaveAsするのが一番無難
あまり変な動きすると察知されて対策されることがある
2023/05/29(月) 20:31:31.56ID:Z3AJ5TFy
スクレイピングをしていいサイトかの確認は
サイトのメインURLにrobots.txtを追加しての確認以外にあるんでしょうか?
利用規約もなく、見つからない場合は不可なのですかね
851デフォルトの名無しさん
垢版 |
2023/05/29(月) 23:42:31.93ID:Kbo/ewZe
>>850
電話とかメールでスクレイピングしても良いですか?って聞いたらいいよ
2023/05/29(月) 23:52:23.05ID:a+bTqmTP
スク水レイプはダメですって言われた
2023/05/30(火) 00:29:18.21ID:N3V0sKr2
pipかcondaかでなく

ryeとかいうpython環境構築、管理コマンドが出来てるのか
バージョンも揃えやすいと
2023/05/30(火) 06:22:34.38ID:6xFQRkRK
>>850
Webサイトって人間が手でブラウザを操作すること前提に作られてるわけで、スクレイピング歓迎なんてサイトはないと思うよ
データ提供目的なら最初からFTPとかAPIを用意するでしょ
2023/05/30(火) 12:10:05.00ID:LsKm3Edu
python3.10を使用しているのですが、以下のコマンドは成功します。
pip install psutil==5.9.5

しかし、「psutil==5.9.5」とだけ書いたrequirements.txtを用いた以下のコマンドは失敗します。
pip install -r requirements.txt

エラーの内容は以下のとおりです。
なぜこのような違いが発生するのでしょうか…

ERROR: Could not find a version that satisfies the requirement psutil==5.9.5 (from versions: none)
ERROR: No matching distribution found for psutil==5.9.5
2023/05/31(水) 06:50:23.05ID:xbJXN5Yq
>>839
printじゃなくてlogging.debugを使うと後々楽
2023/05/31(水) 14:20:22.86ID:7cq+DXpo
>>855
pip freeze > requirements.txt
で出力したら

モジュール名[半角スペース]==[半角スペース]5.9.5
とかになってますかねえ
半角スペース入れたらどうなりますかね
2023/06/02(金) 16:22:31.87ID:USkVLBTx
relativedeltaって、たとえばmonths=1とかで翌月同日(なければ直前の日付)を求める場合、加算元のdatetimeの値に応じて振る舞いが変えられるのはどういう仕組みなの?

datetime.now() + relativedelta(months=1)みたいなケース。
datetime.now()の値によって、timedelta的な値が変わる(加算すべきdaysが31だったり30だったり)のが不思議で仕方ないのだけど。
859デフォルトの名無しさん
垢版 |
2023/06/02(金) 17:27:19.30ID:T19cekas
>>858
2023/06/02なら内部的に2023と6と2を値として持っておいて
+relativedelta(months=2)なら内部的に持ってるmonthの値を+2すればいい
計算後のmonthの値が0以下や13以上になれば上の桁に計算が繰り上がる
860デフォルトの名無しさん
垢版 |
2023/06/02(金) 17:59:09.50ID:xbhDiUQd
2か月前にパソコンを買い2週間前からPythonを学び始めた初心者です。classを使用しpygame.image.load("")などを使って画像を表示しようとしたところエラーはどうにか解決できたのですが解決した後実行しても画像が表示されません。
なぜなのか全くわからず困っています。なにか教えていただけると幸いです。
2023/06/02(金) 18:42:13.66ID:USkVLBTx
>>859
質問の書き方が悪かったのと、勘違い的なものもあるかもだけど、

datetime(2023,5,31) + relativedelta(months=1)
→6/30(同日が無いから6月の最後の日)
datetime(2023,7,31) + relativedelta(months=1)
→8/31
この結果になるのは分かる。

ただそもそもdatetimeのtimedeltaにはmonth(月の加算)の概念が無いからrelativedeltaを使うのだけど、単なる加算演算子で演算してるだけなのに、relativedeltaは加算元の値に応じて加算すべき日数が分かるのはなんでなのかな、という話。
たとえば
hoge.addMonth(datetime(2023,5,31), 1)
というメソッド(関数)で返るなら分かりやすいんだけど、+ という演算子だけで加算元を考慮した結果が得られるのが理解できてない。
これって、加算演算子だけど、内部的には上のaddMonthみたいな関数が呼ばれてる感じなのかな??
余計に分かりづらくてすみませんね。
862デフォルトの名無しさん
垢版 |
2023/06/02(金) 23:14:49.95ID:ga0CYTsD
>>861
そういう話だったのか
演算子がどう解決されるかを知ると納得できると思う

x + yならまずx.__add__(y)が呼ばれる
このメソッドが実装されてないもしくはNotImplementedが返されたら
次にy.__radd__(x)が呼ばれる
これも実装されてないもしくはNotImplementedが返されたらエラーになる

今回のケースの+演算子はrelativedeltaの__radd__経由でrelativedeltaの__add__が呼ばれる
2023/06/03(土) 00:35:10.82ID:7xlPHi7r
>>862
なるほどー!そういう挙動をするのかー
勉強になりました。ありがとう
2023/06/04(日) 10:07:17.81ID:OdnWsaej
>>860
画像ファイルへのpathを絶対パスで指定する
2023/06/04(日) 16:41:01.48ID:u7zI0NRH
import os
filepath = os.path.abspath( 'pygame.png' )
print( filepath )
866デフォルトの名無しさん
垢版 |
2023/06/06(火) 11:20:12.83ID:NOo63SXR
ぱいソン、
なんでもできる言語だと聞きましたが
ブログとか作ろうと思ったら
HTMLのほうがいいんですか?
JAVAの人気もそうですが、
パイソンが出てきても他の言語が駆逐されてないんですね…
2023/06/06(火) 11:34:58.54ID:5Roa6A6s
もうちょっと色々と勉強してきたほうがいい
2023/06/06(火) 11:42:32.80ID:xQyF/w+u
>>866
そのレベルならとりあえずChatGPTに相談したほうが早い
2023/06/07(水) 03:18:30.79ID:NvR9KUMb
>>866
基本的にほとんどの言語はなんでも出来る言語だけど、
得意不得意がある
すごくいい加減な情報量の話になるんだけど、複数の言語の同じ文字数で出来ることは、機能をどのように圧縮表現するのかということになって、圧縮アルゴリズム(言語仕様のことだけど)によって得意不得意が出てくるという感じ
PNGはロゴに向いてるけど写真には向いてない、JPEGは逆、みたいなね
Pythonはなんでも簡単に出来るけど、CPUの性能を最大限に出すのは無理な言語。簡単に出来ることに全振りしている
2023/06/07(水) 03:32:58.82ID:EKgpPP2Q
切ろうと思えばハサミでも大根切れるが包丁使ったほうが楽みたいな話
銀の弾丸みたいな言語は存在しない
2023/06/07(水) 07:52:19.49ID:uhVmgr37
最近はハサミで肉切る風習が日本でも浸透して汚な
2023/06/09(金) 12:12:11.06ID:NHFuTyG1
『慰安婦像を世界中に建てる日本人たち』
を読んでみたまえ。
在日中国人と在日朝鮮人、韓国人を、
排除して国外追放すべきという主張が全く正しいと
納得していただけるはず。

在日中国人、在日朝鮮人・韓国人、
そして日本国籍を取得した二世、三世を含めると
約500万人である。

有名新聞社やテレビ局の社長も在日系がいる。
もちろん政治家にも二世、三世がいる。
追放すべきだ!

IT企業の社長は在日だらけ。
注意せよ!
873デフォルトの名無しさん
垢版 |
2023/06/13(火) 03:27:40.19ID:ZJJmD30i
蒸れますか?
2023/06/14(水) 08:25:44.27ID:SH/RHF7T
関数のデフォルト引数は、関数定義の時点で確定してしまうってマジですか
いや実際下記のコードだと1が2回表示されるんですけど、これ怖すぎませんか
自分、関数外の変数をパラメータとしてよく使うんで戦々恐々です

N = 1
def sample(S = N):
print(S)
N = 2
sample()
N = 3
sample()
875デフォルトの名無しさん
垢版 |
2023/06/14(水) 11:07:22.05ID:j5xHAvkw
それは普通に引数で渡せよw
どうしてもデフォルト引数として使いたいなら
↓みたいにして実行時に外部スコープから値を取り込むか部分適用で新しい関数を返すようにするか
def sample(S = None):
if S is None:
S = N
print(S)
2023/06/14(水) 11:30:09.50ID:iWYHYN4r
def fun(hoge=[]):
....print(hoge)
....hoge += ['C', 'D']

fun()
fun(['A', 'B'])
fun()
fun()
2023/06/14(水) 14:59:25.34ID:bsnrwMoS
>>876
わかりやすい!
2023/06/14(水) 20:39:53.20ID:g5KOvNXL
>>875,876
難しいですね
デフォルト引数は危険なので生涯使わないと決めました
2023/06/14(水) 23:46:06.10ID:AnvpygML
多くの動的言語が、1級関数でクロージャだから、
関数外部の変数が、関数内部に取り込まれる。
だから、よくバグる

一方、Ruby だけは1級関数じゃないから取り込まれない。
関数内部のブロックをクロージャにしているだけ
2023/06/15(木) 10:04:00.16ID:dLjlwX4m
>デフォルト引数は危険

知らずに使うから危険なのであって
生涯使わないとかは過剰反応
2023/06/15(木) 10:04:15.68ID:dLjlwX4m
>デフォルト引数は危険

知らずに使うから危険なのであって
生涯使わないとかは過剰反応
2023/06/15(木) 11:48:33.04ID:8a6mpLjs
単に、変数の展開がどのタイミングでされるか?っていう、各言語の仕様によるものだよな。
それって当たり前に理解してなきゃいけないレベルの話では。
自分の思いこみと違うから危険とか、他言語と違うから危険とか、それは違うよなww
大多数の人の直感に反するから間違えやすい、というのとは全く別。
883デフォルトの名無しさん
垢版 |
2023/06/15(木) 13:55:49.06ID:jHwGJen4
変数が展開されるタイミングの話と
値がすべての関数呼び出しで共有される話と2つあるよ

前者を注意しなければいけない今回の質問者のような使い方は他言語でもバッドプラクティスなので大きな不都合はない
後者はPython特有の落とし穴で他言語から来た人にとってはバグりやすいポイント
2023/06/15(木) 14:04:52.50ID:8Lm7x0rO
デフォルト値を定義する機能なのに変数を代入してるのが謎だわ

この場合シンプルに
def sample(s=1)
で定義して使用する時は
sample() とか sample(N)
じゃだめなのか?
2023/06/15(木) 14:39:18.88ID:IBp2a99S
>>884
変数というより、定数として定義しておいてそれを指定する感じで使ってる
Noneとかboolean以外で値の直書きはなんか嫌だなw
2023/06/15(木) 14:56:22.35ID:8Lm7x0rO
>>884>>874 のコードに対してね
再代入してるから定数を意図して大文字の「N」という訳でもなさそうだし意図が分からなかった

自分もマジックナンバーを用いるのは嫌だけど、それも前後の文脈とかによると思う。
例えばポート番号を渡す関数を作るとき、
def foo(port=APP_PORT)
とか定義してあるより
def foo(port=22)
とか書いてある方が自分は逆に分かりやすいし、どこか他所で定義されてる APP_PORT が絶対に書き換えられていないっていう保証が Python では無いし。
887デフォルトの名無しさん
垢版 |
2023/06/15(木) 19:51:30.10ID:NRzS3/Hm
>>885
この例は定数として使ってないから問題なのですよね
2023/06/15(木) 20:01:12.79ID:Loc7aXfB
>>884
>>874のコードの意図は、一つの関数を異なるデフォルト値で
使い回したいケースを想定しています

例えばプロ野球各チームの代表選手を一名ずつ入力させる処理があったとして
チームごとに知名度の高いスター選手をデフォルト指定してはinputを回して
空打ちされたらデフォルト選手名を使うイメージです

でもまあ、今後デフォルト引数は使わないのでもういいんです
お騒がせしました
889デフォルトの名無しさん
垢版 |
2023/06/15(木) 21:02:36.25ID:IgZ67UFj
関数内で完結してない時点で使い方おかしい
しかもそれだと毎年変わるだろ
890デフォルトの名無しさん
垢版 |
2023/06/15(木) 21:29:31.89ID:0XxRvJKG
そういうのはインスタンス生成時にコンフィグを渡すか読み込むかしておいて関数呼び出し時に明示的に渡されなければコンフィグ記載のデフォルト値を使うというやり方をする
Noneを指定しておいて関数内で分岐するところは同じ
2023/06/16(金) 00:26:35.04ID:StfTi6nw
デフォルト値を変えるって、
以前変えた値が生きてしまうとか
複数個所から使用した場合に他方へ影響が出てしまうとか
そういうのを想定しないってことよね

いいやり方じゃない気がする
2023/06/16(金) 03:33:03.14ID:ZPTtRGB7
風邪薬を飲みましたが腰痛が治らなかったので風邪薬は二度と飲みません
2023/06/16(金) 09:05:53.00ID:ly+Q1cW8
>>888
そういう用途なら
class Sample(object):
def __init__(self, n):
self.n = n

def sample(self, s=None):
if s is None: s = self.n
print(s)

s = Sample(1)
s.sample()
s = Sample(2)
s.sample()
s = Sample(3)
s.sample()

観たいな描き方の方が良い
2023/06/16(金) 09:19:00.80ID:g3SmSFK2
お、なんか高度なやつ来たぞ
895デフォルトの名無しさん
垢版 |
2023/06/16(金) 19:23:17.82ID:XNOAB+rY
def make_sample_func(n):
 def sample(s=n):
  print(s)
 return sample

s = make_sample_func(1)
s()
s = make_sample_func(2)
s()
とかでもいけるかな。
896デフォルトの名無しさん
垢版 |
2023/06/16(金) 20:22:55.76ID:sY7f1uiK
ででででこれーた
2023/06/17(土) 10:47:08.40ID:bEvtfpfP
windows11でアプリケーション自動起動のスクリプトを書く場合、pywinautoが良いでしょうか
どの言語が良いのか迷っています。
2023/06/17(土) 11:02:07.85ID:Fi2FK6UR
自動起動だけだったら標準機能のスタートアップとかサービスじゃ駄目なの?
そこから自動で何か操作するんだったらpywinautoでもいいのかもしれんけど
2023/06/17(土) 14:34:54.29ID:bEvtfpfP
ユーザー名とパスワードを入れてのログインなので
タスクスケジューラでは足りませんでした。
pywinautoをググってもあまヒットしなかったので
他の言語のほうがいいのか知りたく質問しました。
2023/06/17(土) 15:22:15.38ID:ugkpGcKE
powershellからの起動を塞がれる可能性はあるけどpower automateの選択肢もあるかと
901デフォルトの名無しさん
垢版 |
2023/06/19(月) 10:54:40.92ID:xB77xCcF
Pythonでサービス登録ってどうすればいいの?
2023/06/19(月) 12:06:13.92ID:xYrrfR7/
Windows ならサービスマネージャー、Linux なら systemctl とか、OS の機能として登録するのが基本だと思うけど Python からやるなら pywin32 とか言うのがあるらしい。
pypi.org/project/pywin32/
qiita.com/Bashi50/items/1d98f80ccaa8746bff38

自分は使ったこと無いからよく分からん
2023/06/19(月) 12:18:58.21ID:7QNCRBGI
関数を細かく分けてネストしているような時、最下層の関数で使う値を、上層の関数で制御や決定するような場合、引数のバケツリレーみたいになってしまうけど、こういうときは仕方ないのか、グローバル変数にして渡すべきなのか、どうなんでしょう?

例として、aiohttpのrequest関数にプロキシなどを渡す場合で、
A関数→B関数→C関数→D関数→aiohttp
(A関数でaiohttpのプロキシやヘッダの決定をする。B、C、D関数では使わない)
といったケース。

Reactでのpropsのバケツリレーみたいにあまり良くないみたいなイメージが。
904デフォルトの名無しさん
垢版 |
2023/06/19(月) 12:23:20.66ID:h42DXjZ+
個人開発でもgit使うべきなんだろうか
古いファイルimportして気づかず実行時エラー直らなくて困ってから思った
2023/06/19(月) 12:40:36.95ID:xYrrfR7/
>>903 正直そのコードがイメージできてないから何とも言えないけど、グローバル変数に抵抗があるならクラスにまとめるのも良いんじゃない?
コンストラクタインジェクションで必要な情報を最初にメンバとして与えて、あとは各メソッドで好きなように使う感じ。
メンバを参照する場合はメソッドの引数として渡さなくていいわけだし
2023/06/19(月) 13:59:45.88ID:7QNCRBGI
>>905
あーそっか!なるほど。
クラス(インスタンス)にスコープを閉じこめてしまえばグローバル変数使わなくて済みますね
まだ積極的なクラス化に慣れてないので思いつきませんでした。
ありがとうございます。
2023/06/19(月) 20:12:27.51ID:iWd6IZwU
そりゃ使った方がいいと思う
Python関係ないが
2023/06/19(月) 20:19:59.67ID:YM4pgXtK
>>904
gitは使い出したよ
やっぱやーめたで戻りたり、機能追加するのに別ブランチつくってから統合したりくらいしか使ってないけど
909デフォルトの名無しさん
垢版 |
2023/06/20(火) 13:28:50.21ID:8A36Uzhp
pypiにモジュールうpしてみ
嫌でもgit/github覚える
2023/06/20(火) 16:29:35.63ID:/U7g5+3X
gitは大規模分散開発向けだから一人開発に使うには大げさ
Subversionがおススメ
2023/06/20(火) 16:50:57.92ID:FRej1Zvz
そんなことはない
2023/06/20(火) 17:03:32.79ID:i7ER5+tQ
個人の超小規模な開発でもgit使ってますわ
ブランチやコミットメッセージは適当だしgitホスティングサービスも使ってないけど
2023/06/20(火) 17:51:47.54ID:B29tW43G
個人でもgit使ってるなー
たまにしか使わないような環境構築の手順のメモとかでもマークダウンで書いておいてホスティングサービスにプッシュして保存してあるから外から見れるのが便利
SVNは過去に使ったけどGitに移行するときに「同じ用語だけど意味が違う」みたいのがチラホラあって苦労したのもあって触らなければよかったとさえ思ってる
914デフォルトの名無しさん
垢版 |
2023/06/20(火) 20:39:53.25ID:UXIko2WD
今さらSubversion使うってのはさすがにないわ…
2023/06/20(火) 23:56:43.97ID:/NrGyZWU
1人開発だからSubversionが適してるなんてことないよ
GitもSubversionも知らなくて、どちらも学習コストがかかるなら圧倒的にGitをお勧めする
というかSubversionの方が運用が難しいと思うんだよな。
2023/06/21(水) 02:35:55.96ID:qDL7muQc
適不適ってよりsubversionって開発まだやってんのか? gitあんだしもうとっくに開発終わってLTSの保守みたいなことだけやってんだと思ってた
公式行って開発メーリングリスト見たら件数全然だし、そもそもロードマップの冒頭に次のリリースの予定は現在ありませんなんて書いてあったんだが
917デフォルトの名無しさん
垢版 |
2023/06/21(水) 18:05:52.58ID:cQZLHxHQ
pickleの仕様が意味わかんないんだけど
class aでpickle.dump(dataclass)したファイルを
別のディレクトリにあるclass bからpickle.loadすると
attribute errorになるのはなぜ

同じdataclassはimportしてるからデータ構造一致してるじゃんか…
2023/06/21(水) 23:01:34.73ID:E9iM1sNN
Pythonってスマホにも入れられますか?
2023/06/21(水) 23:07:09.44ID:ywnUaEYp
QPythonでも使ったら
2023/06/21(水) 23:20:02.17ID:E9iM1sNN
>>919
おぉ!ありがとうございます(^o^)
2023/06/21(水) 23:46:14.05ID:73YbeCUa
Carnets(Jupyter環境)もいいよ
2023/06/22(木) 01:32:51.71ID:hPQpnAZR
>>921
iPhone用ですね㌧
PythonはOS関係ないみたいに聞いていたのでPCに入れたのがそのまま入るのかと思ってたんですけど、それぞれあるんですね。
2023/06/22(木) 10:37:52.44ID:kNfUaD9C
>>917
msgpackとかYAMLとかに移行
2023/06/27(火) 09:47:44.74ID:BbQ3yiyV
カレントフォルダAの下階層Bにあるa.pdfを開く場合の指定を教えてください

open("/B/a.pdf"., "rb")

かと思ったら違いました
925デフォルトの名無しさん
垢版 |
2023/06/27(火) 09:51:40.18ID:x7v8IWey
open("./B/a.pdf"., "rb")
2023/06/27(火) 09:55:31.12ID:BbQ3yiyV
>>925
ありがとうございました
2023/06/27(火) 09:59:16.04ID:jgdA0YQ2
open("B/a.pdf", "rb")
2023/06/27(火) 13:31:09.61ID:BbQ3yiyV
何度もすみません
PyPDF4を使って、inputフォルダ内のpdfにしおりをつけてoutputフォルダへ保存したいのですが
すでにしおりが存在するpdfがあると処理が止まります

https://techiedelight.com/compiler/?09af

しおりがある場合はスルーする、または上書きするような処理はどう書けばいいでしょうか?

>>927
ありがとうございました
2023/06/27(火) 13:46:18.41ID:jgdA0YQ2
>>928
PyPDF4入れてないし触ったこともないが、
https://assam-blog.com/python-pypdf4-bookmark/
上のリンクを見る限りparent=Noneが引っかかってるぽいかな。
parentが存在する場合はparent=parentにしないといけない様な。

とりあえずしおり追加をtry exceptで囲んでみるといい
2023/06/27(火) 13:46:55.68ID:WeQZqkEK
>>928
ホームページもなくなったモジュールなんて使わないほうがいいよ
https://www.reddit.com/r/learnpython/comments/117cekd/pypdf_vs_pypdf2_vs_pypdf3_vs_pypdf4_vs_others/
2023/06/27(火) 13:47:22.11ID:jgdA0YQ2
>>928
もしVSCODEとか使ってないなら入れた方がいい。
2023/06/27(火) 14:26:11.38ID:BbQ3yiyV
>>929
まさにそのサイトを参考にしました
try exceptでしおりがあるファイルをスキップできました、ありがとうございます
VSCODE入れて使ってみます

>>930
取り急ぎで人様のコードをつぎはぎ使わせてもらってるので、自分で最初からやるときは生きてるのを使います
最新のpyinstallerからもはねられてしまいました
レス数が900を超えています。1000を超えると表示できなくなるよ。
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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