Pythonのお勉強 Part66

レス数が1000を超えています。これ以上書き込みはできません。
2021/11/12(金) 07:48:11.11ID:vp8lzav70
!extend:default:vvvvv:1000:1024
!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://codepad.org/      ほぼ直感的に使える。Run codeボタンあり。
ttp://pastebin.com/     まずまずシンプル。
ttp://dpaste.com/      とてもシンプル。消えるまでの日数は十分長ーく指定のこと。

◇Pythonオフィシャルサイト http://www.python.org/
◇まとめwiki ttp://python.rdy.jp/

●関連スレ● 自称初心者は↓へ
【まず1嫁】くだすれPython(超初心者用) その55
https://mevius.5ch.net/test/read.cgi/tech/1633070807/

〇前スレ〇
Pythonのお勉強 Part65
https://mevius.5ch.net/test/read.cgi/tech/1621749112/

次スレの建立は>>985が挑戦する。(980通過して24h後も落ちなくなった)
VIPQ2_EXTDAT: default:vvvvv:1000:512:: EXT was configured
2022/01/22(土) 20:33:00.49ID:QWAkInsq0
上のやつのことなら、なにも入ってない
なんかいれる前に、配列外へアクセスしたことによるエラーでプログラムが落ちた
2022/01/22(土) 21:54:45.25ID:GJqn9WH1M
>>917
配列なんだし別におかしくないと思うが
2022/01/22(土) 21:58:36.37ID:f0jQfsum0
直後に
dir(id)
すればわかるが
idはそもそも組み込み関数なので変数名に利用すべきじゃない
2022/01/22(土) 22:03:45.12ID:ZquoYFuO0
>>920
vectorのvだもんな
2022/01/22(土) 22:11:38.24ID:v6co4ARz0
argument variableじゃなかったん?
2022/01/22(土) 22:26:58.29ID:QWAkInsq0
id関数って動くコードで使うこと殆んどないし別に…
ただidって言葉が自然言語として意味がバカ広くて
あとから読んだ時謎の変数に見えてくるのは容易に想像できるから
そういう意味ではおすすめできない
2022/01/22(土) 22:30:08.60ID:xJ8GN0MU0
listとarrayとvectorの違いを述べよ
2022/01/22(土) 22:31:23.98ID:y3RiWYQh0
未だに>>910分かってるやつ
俺と>>912しかいないの草
2022/01/22(土) 22:53:38.08ID:f0jQfsum0
>>926
第1引数必須のプログラムなら元コードがシンプルで素直
ヘルプだしたりフォールバックするなら例外補足したらいいんだし
>>912 は可変長を考慮してるんだと思うがさらに解析が必要だし
なら最初からargparse/getoptつかえばってなる
2022/01/22(土) 23:01:44.46ID:xJ8GN0MU0
引数で指定するものなんて処理対象だけだし
複数あればずらずら並べるだけ

設定と処理対象を混ぜる方式は面倒なだけなので、
そっちは別で指定して configparser で読み込む
2022/01/23(日) 00:10:54.70ID:KYoztYh80
>>927
俺じゃなくて>>910に言えよ
>>921も回答になってないけどw
930デフォルトの名無しさん (JP 0H8f-vKrE)
垢版 |
2022/01/23(日) 00:37:48.64ID:X663g2ceH
ser = serial.Serial('COM4', 9600, timeout=1)
【エラー】
could not open port 'COM4': PermissionError(13, 'アクセスが拒否されました。', None, 5)

どなたかおしえていただけませんか...
2022/01/23(日) 00:50:09.34ID:KYoztYh80
COMポート番号が合ってるか確認する
管理者権限で実行してみる
他にシリアル使ってるプログラムが無いか確認する
932デフォルトの名無しさん (JP 0H8f-z3gx)
垢版 |
2022/01/23(日) 01:17:24.35ID:X663g2ceH
>>931
管理者権限で実行したところ同じエラーが出ました。
また、COMポート番号はデバイスマネージャーからポートのところを見たらそれしかなかったので間違っていないと思います。
他にシリアルを使っているプログラムがあるかは、デバイスマネージャーのポートの詳細
設定のポートを選ぶ部分で使用中になっていなかったので大丈夫かなと思ったんですけどそれじゃ不十分だったりするんでしょうか...
2022/01/23(日) 01:32:18.11ID:KYoztYh80
>デバイスマネージャーのポートの詳細設定のポートを選ぶ部分で使用中になっていなかった
これは現在使用中って意味じゃない(現に自分にPCには存在しないポートも(使用中)と出る)
閉じていいアプリは全部落としてやってみそ
934デフォルトの名無しさん (JP 0H8f-z3gx)
垢版 |
2022/01/23(日) 01:37:35.86ID:X663g2ceH
>>933

ありがとうございます!やってみます!
935デフォルトの名無しさん (JP 0H8f-z3gx)
垢版 |
2022/01/23(日) 01:40:22.24ID:X663g2ceH
VScode以外落としてみたんですけどダメでした...泣
2022/01/23(日) 02:00:02.91ID:KYoztYh80
インタラクティブモードでやってる?
ちょっと試したけど既にポート開いてるなら2回目は PermissionErrorで失敗するみたい
serの中身がSerial<id=0x・・・・, open=True>みたくなってない?
937デフォルトの名無しさん (JP 0H8f-z3gx)
垢版 |
2022/01/23(日) 02:17:56.46ID:X663g2ceH
インタラクティブモードでやってなかったので今やってみたらこんな風に出ました
Serial<id=0x20237cc3880, open=True>(port='COM4', baudrate=9600, bytesize=8, parity='N', stopbits=1, timeout=1, xonxoff=False, rtscts=False, dsrdtr=False)
2022/01/23(日) 02:26:45.29ID:KYoztYh80
あごめん、言い方悪かった
別にインタラクティブモードじゃなくてもスクリプトでもいいけど
すでに開いてるポートを開こうとするとエラーになるんで
ser.close()せずに再びser=serial.Serial(..)してんじゃない?

>>> import serial
>>> ser=serial.Serial('COM8')
>>> ser
Serial<id=0x2992c530940, open=True>(略
>>> ser=serial.Serial('COM8')

serial.serialutil.SerialException: could not open port 'COM8': PermissionError(13, 'アクセスが拒否されました。', None, 5)
>>> ser.close()
>>> ser
Serial<id=0x2992c530940, open=False>(略
>>> ser=serial.Serial('COM8')
>>> ser
Serial<id=0x2992c043970, open=True>(略
>>>
939デフォルトの名無しさん (JP 0H8f-z3gx)
垢版 |
2022/01/23(日) 02:49:00.53ID:X663g2ceH
なるほど!
ありがとうございます。2つのファイルを実行して、どちらもserを使うので2回開こうとしてました!どこかで閉じるようにしてみます
940デフォルトの名無しさん (ワッチョイ c701-z3gx)
垢版 |
2022/01/23(日) 03:03:09.94ID:MLqhVhgC0
>args = sys.argv
>id = args[1]
>【エラー】
>IndexError: list index out of range

>>910の追加項目
私の機械:windows10 Python 3.9 
目的:SQLiteへデータを登録しようとするPG作成中です。
”id"を目的のサンプルPGの一番最初の部分です。
どなたか教えてくれませんか。
941デフォルトの名無しさん (ワッチョイ 8736-3ds2)
垢版 |
2022/01/23(日) 06:46:02.96ID:PgBhXr380
シリアルポートなんて、いまどき使うんだ。
RS232か、昔はよく使ってたなw
942デフォルトの名無しさん (ワッチョイ 8736-3ds2)
垢版 |
2022/01/23(日) 06:56:09.26ID:PgBhXr380
>>940

sys.argv[0] が プログラム名
sys.argv[1]が 第一引数。

プログラム起動時に引数を指定してないんじゃねえの?

prog id の所を prog で起動してるとか。
2022/01/23(日) 10:23:54.10ID:bZmeHR4M0
マイコン工作するとUSBで接続して仮想シリアルポートにして通信するのが楽
2022/01/23(日) 10:30:27.98ID:gURfbQct0
>>940
せっかく>>911が正解を書いてくれてるのに無視?
この程度が理解できないならあきらめた方がいい
2022/01/23(日) 10:41:43.43ID:bZmeHR4M0
いや、判らん状態で>>911読んでも判らんだろこの書き方では
サンプルや動作結果の一つでも無いと

そもそも[0]が本体の名前になるというのが、悪しき伝統な気がする
直感的には1つ目の引数がargv[0]であるべき
でも自分が誰か知りたいとかフルパスを知りたいとかの用途にも応える為に、
[0]にプログラム名を割り込ませた
そのせいで、大抵の場合は先頭を除去する処理が増えた
2022/01/23(日) 10:47:56.63ID:zjhM3+vK0
>>945
一回で覚えろ
2022/01/23(日) 10:59:24.82ID:v6WsaUYQ0
>>945
ターミナルに打った文字列まんまでわかりやすいと思ってたんだがそうでもないのか
2022/01/23(日) 11:04:06.14ID:bZmeHR4M0
コマンドラインそのものは、argumentではないんだよな
function(x)があって、functionの引数はと聞かれてfunction, xと答えるようなもの
2022/01/23(日) 11:07:00.46ID:abLOZeidM
正解は>>918だろ
>>911は教え方を知らないアホ
2022/01/23(日) 11:11:17.46ID:bZmeHR4M0
第1文の
> Pythonスクリプトに渡されたコマンドライン引数のリスト
だけ読めば、[0]が1つ目の引数だと解釈して当然

第2文の
> argv[0] はスクリプトの名前となりますが
これがいきなり第1文と矛盾していて、そのことに配慮していないのが問題
2022/01/23(日) 11:26:34.23ID:KYoztYh80
>>942
正解

>>949
アホ
2022/01/23(日) 11:36:42.70ID:Q5TMjrhP0
プログラミング言語を初めさわり始めたならあるあるの話題かもしれんね
cやら他やってからならコイツもかよって思うだろうけど
2022/01/23(日) 11:39:23.65ID:bZmeHR4M0
遠い昔の記憶
ARGC, ARGVの仕様を初めて知った時、何だそれ変なのって絶対思った筈なんだよな
そこからもう変えられない
少なくとも、argvの文字列を使う限りは同じにしないと余計に混乱する
そういうものだとして飲み込んでもらうしかない
2022/01/23(日) 11:47:46.49ID:1eJFWKb80
動かすOSによっても変わったりするよな
2022/01/23(日) 12:56:03.94ID:j6A/deIZM
やっぱりCLIの知識は必須だわな
2022/01/23(日) 13:09:06.98ID:IUy5ZWEo0
CLIというかUNIX/C
2022/01/23(日) 13:29:16.58ID:FdaSB2MR0
psおじさんに隙を見せない完璧なブロック
2022/01/23(日) 13:53:33.09ID:AR98MafLM
>>912
安全とは??
2022/01/23(日) 14:18:45.74ID:Yq0H6/EN0
以下envpについて小一時間説教を
2022/01/23(日) 14:21:29.12ID:j6A/deIZM
知らんけどとりあえずidを引数に期待しているんだからこれを叩いているプログラムやら手入力するidが存在するはずなんで作った人に聞けとしか言えないんだよな
2022/01/23(日) 15:26:37.17ID:gURfbQct0
CLIはDOS/Windowsが特殊だよな
Unix系ならviとviewとかを考えれば、argv[0]が本体を指しているのが当然と思うし
2022/01/23(日) 15:49:30.66ID:rkomqFH+0
winもDOSもそうじゃん
963デフォルトの名無しさん (ブーイモ MMcf-7oyM)
垢版 |
2022/01/23(日) 17:28:36.97ID:wYttYp2UM
> お前は毎朝起きるたびに俺に負けたことを思い出すよ^^

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

くそチョンw
くそチョンはウンコを食べる糞食人種w
朝鮮人はゲリ便をじゅるじゅると
うまそうに食うw

在日は強姦を繰り返す犯罪者!
皆殺しにすべし!
2022/01/23(日) 18:51:18.43ID:waRwT8NZ0
「私の機械」でスルー決定
965デフォルトの名無しさん (ワッチョイ e72c-FE29)
垢版 |
2022/01/23(日) 19:31:56.43ID:c39OPcdQ0
日本人ではないんだろうなとは思う
あとこのレベルでDBに接続しちゃいかん
まず変数名を_idにするところからやり直し
2022/01/23(日) 19:40:32.07ID:1eJFWKb80
やり直しというより、諦めさせる方が本人のためになる
2022/01/24(月) 03:47:21.15ID:VeWznQkJ0
Python では、
sys.argv[0] が プログラム名
sys.argv[1]が 第一引数

一方、Ruby では、実行するスクリプトファイル名は、ARGV じゃなく、$0 に入る

ruby script.rb 引数1 引数2
ARGV[ 0 ]・[ 1 ] は引数

script.rbの内容が、以下の時、
p $0, ARGV[ 0 ], ARGV[ 1 ]

ruby script.rb 123 abc
と入力すると、

"script.rb"
"123"
"abc"
968デフォルトの名無しさん (ワッチョイ c701-z3gx)
垢版 |
2022/01/24(月) 20:55:14.10ID:6lZDYIjP0
912>にすると何も表示されませんでした
911>読んでみたのですが意味が分かりませんでした、すみません。
924>id関数ではなく文章の中にある変数見たいです?
927>意味はよく分らずargparse/getopt今後使ってみます。
942>sys.argv[0] が プログラム名、sys.argv[1]が 第一引数見たい?。
945>そもそも[0]が本体の名前になるというのが、悪しき伝統な気がする
直感的には1つ目の引数がargv[0]であるべき
でも自分が誰か知りたいとかフルパスを知りたいとかの用途にも応える為に、
[0]にプログラム名を割り込ませた
そのせいで、大抵の場合は先頭を除去する処理が増えた
948>argumentではないんだよな
950>第1文の> Pythonスクリプトに渡されたコマンドライン引数のリスト
だけ読めば、[0]が1つ目の引数だと解釈して当然
第2文の
> argv[0] はスクリプトの名前となりますが
これがいきなり第1文と矛盾していて、そのことに配慮していないのが問題
953>ARGC, ARGVの仕様を初めて知った時、何だそれ変なのって絶対思った筈なんだよな
そこからもう変えられない
少なくとも、argvの文字列を使う限りは同じにしないと余計に混乱する
そういうものだとして飲み込んでもらうしかない
960>知らんけどとりあえずidを引数に期待しているんだからこれを叩いているプログラムやら手入力するidが存在するはずなんで作った人に聞けとしか言えないんだよな
967>Python では、
sys.argv[0] が プログラム名
sys.argv[1]が 第一引数
一方、Ruby では、実行するスクリプトファイル名は、ARGV じゃなく、$0 に入る
ruby script.rb 引数1 引数2、ARGV[ 0 ]・[ 1 ] は引数script.rbの内容が、
以下の時、p $0, ARGV[ 0 ], ARGV[ 1 ]ruby script.rb 123 abc
と入力すると、
お宅の説明が一番わかりやすかったです、皆さんありがとうございます。
2022/01/24(月) 21:14:03.25ID:DKgAl10f0
アンカーの付け方も知らないとかマジで向いてないから辞めた方が良い
2022/01/24(月) 21:16:28.00ID:6XFpWFl/0
まずコマンドライン引数ってわかるか?
2022/01/24(月) 21:20:27.09ID:XO4cGfGE0
判らなくてもがんがん使っていく姿勢が大事
2022/01/24(月) 21:22:15.16ID:XO4cGfGE0
今ちょうどクラスオブジェクトの、
object['item']

object.item
の違いが酔って判らなくなったところ
973デフォルトの名無しさん (アウアウウー Sa4b-Tsl1)
垢版 |
2022/01/25(火) 00:39:21.55ID:YRL+3AJRa
requestを使ってbingの画像検索からセーフサーチを無効にして画像を拾いたんですが、async?q=おっぱい&safeSearch=offで無効にできません><
ブラウザ上でも試したのですが、edgeだけは無効にして検索できます
safeSearch=offの他に何が必要なのか分かる方教えください
2022/01/25(火) 01:06:39.93ID:3XZ1Qcwj0
バイthon?
2022/01/25(火) 07:29:31.18ID:FbGdwSQ50
>>973
1. www.bing.com (Cookie発行)
2. www.bing.com/settings.aspx?pref_sbmt=1&adlt_set=off&adlt_confirm=1&GUID=MUID (MUIDはCookie MUIDの値)
3. www.bing.com/images/search?q=検索文字列

いつ仕様変わるかわからんからSelenium等で操作する方が堅い
2022/01/25(火) 14:02:19.44ID:UK+wjF4W0
py関連だからスレ適合
977デフォルトの名無しさん (アウアウウー Sa4b-Tsl1)
垢版 |
2022/01/26(水) 06:09:37.21ID:osHVDAzya
>>975
レスありがとうございます!
無効にして画像収集できました
Pythonの話題からズレちゃうんですが、settings.aspxにクエリを渡すとかってどうやって調べるんですか?
2022/01/26(水) 16:30:23.64ID:DYVcmqpl0
djangoでmodelを使ってbulk_create()でDBに保存したいがリレーションが分からない

カラムが一つだけでフォーリンキーを持たないモデルaがあってモデルbとcはaをフォーリンキーで参照している

けどcはbも参照している

これだと例えばcは二重にaを参照することになるんじゃないの?
こんがらがってきた
2022/01/26(水) 17:48:16.53ID:2fTicUd70
djangoの話でもないしましてやPythonの話でもない
リレーショナルデータベースの勉強しなさい
980デフォルトの名無しさん (ワッチョイ 4736-OMe5)
垢版 |
2022/01/26(水) 17:51:16.76ID:a2ABcE+j0
youtubeにpython、C、 X86 Assm で同時にプログラムを書き始めてどれが一番早く書けるか、実行はどれが一番早いか。
を比べる動画があった。

まあ、当然 python >= C >> assm ソース制作時間。

assm >= C >>>> python 実行時間。

だけどねw

X86 assmでプログラムが書けるのがカッコいいよね。
2022/01/26(水) 17:53:00.59ID:DYVcmqpl0
>>979
カスみたいな答えいいんで真面目に答えてください
2022/01/26(水) 17:55:01.25ID:Iww1vf4C0
この質問文言からだと、これが最適解だと思う
2022/01/26(水) 18:21:30.38ID:EasTiWyD0
bulk_create関係あんの?
2022/01/26(水) 18:23:10.64ID:XFmf31cH0
カスみたいな答えが良いとリクエストしてるぞ
2022/01/26(水) 18:25:43.41ID:/+UFoYsq0
>>978
cのレコードとcが参照してるbのレコードが
必ず同じaのレコードを参照する関係の場合は非正規形になる
ビジネスルールの観点と意図的に非正規化するかどうかという技術的な観点から設計判断が必要
2022/01/26(水) 18:31:37.21ID:EasTiWyD0
自分が訳わからずリレーション張ったなら間違い
誰かが張ったのをみたならオプションなどみてそのほかの意味を考える
2022/01/26(水) 19:47:04.47ID:6lp7RiSR0
pythonは計算が遅いけど、numpyを使えば高速化できる
そして、numpyが要るような高度な計算はアセンブラで書くのは不可能で、
コーディングはC言語よりも速く、実行速度がC言語と同じなら、
それはもうpython一択なのでは
2022/01/26(水) 19:55:45.82ID:HhYkIzhz0
        ____
        /     \
     /   ⌒  ⌒ \   何言ってんだこいつ
   /    (●)  (●) \
    |   、" ゙)(__人__)"  )    ___________
   \      。` ⌒゚:j´ ,/ j゙~~| | |             |
__/          \  |__| | |             |
| | /   ,              \n||  | |             |
| | /   /         r.  ( こ) | |             |
| | | ⌒ ーnnn        |\ (⊆ソ .|_|___________|
 ̄ \__、("二) ̄ ̄ ̄ ̄ ̄l二二l二二  _|_|__|_
2022/01/26(水) 20:01:37.42ID:xSTWaWcL0
最速のpythonで3Dゲームでも作るか
2022/01/26(水) 20:05:29.66ID:Iww1vf4C0
6Gの基幹システムはこれで決まりだな
2022/01/26(水) 20:13:21.40ID:DYVcmqpl0
次のバージョンで速くなるらしい
2022/01/26(水) 21:15:39.89ID:dhhZJlzR0
>>978
まずはリレーションの正しい意味を説明している本を探して勉強する。ネタとかじゃなくて。
2022/01/26(水) 23:41:44.44ID:e2k0MxNT0
Repl.itは、リンターやデバッガーからサードパーティのパッケージ、ホスティング、デプロイまで、
すべてを備えた、ブラウザー内の完全な共同クラウド開発環境です

以下のようなテンプレートがあります

React, Vue.js, Django, Node.js / Express
個人向けブログサイト、ポートフォリオサイト

A-FrameによるVRプロジェクト

p5.js / Phaser.js用のゲーム開発
Three.jsによる3Dコンテンツの作成

WebGL なら、Three.jsだろ?
2022/01/27(木) 17:01:17.18ID:CDh87jZI0
次スレ(再利用)
Pythonのお勉強 Part66
http://mevius.5ch.net/test/read.cgi/tech/1636970383/
2022/01/27(木) 17:01:27.52ID:CDh87jZI0
2022/01/27(木) 17:01:38.89ID:CDh87jZI0
2022/01/27(木) 17:01:49.50ID:CDh87jZI0
2022/01/27(木) 17:02:21.31ID:CDh87jZI0
2022/01/27(木) 17:03:23.88ID:CDh87jZI0
次スレ(再利用)
Pythonのお勉強 Part66
http://mevius.5ch.net/test/read.cgi/tech/1636970383/
2022/01/27(木) 17:12:24.85ID:jVjn5byT0
質問いいですか?
10011001
垢版 |
Over 1000Thread
このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 76日 9時間 24分 14秒
レス数が1000を超えています。これ以上書き込みはできません。
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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