くだすれPython(超初心者用) その38
■ このスレッドは過去ログ倉庫に格納されています
このスレッドは、他のスレッドでは書き込めない超低レベル、 もしくは質問者自身何が何だか分からない質問を勇気を持って書き込むスレッドです。 へび使いが優しくコメントを返しますが、お礼は Python の布教と初心者の救済をお願いします。 エラーを解決したいときはエラー表示や環境(バージョン/IDE or command line)を略さずに書き込んで下さい。 騙りが頻発しています。質問する方は一時的なトリップをつけることを検討して下さい。 次スレは >>985 辺りで 前スレ くだすれPython(超初心者用) その37 http://mevius.5ch.net/test/read.cgi/tech/1521271945/ python.org なんかで試すな! 実験用のサイトじゃねえぞ。 負荷を掛けるな そもそも、HTML を読み込んでも、 ブラウザじゃないのに、JavaScript は実行されないだろ 普通は、Ruby などで、selenium-webdriver で、Chrome を実行したりする。 本物のブラウザを操作しないと、正しくページが実行されない >>401 Linux では、at, cron に登録すれば、 その時間が来れば、アプリを起動してくれる Windows にも、同様のサービスがあるはず >>388 7年くらい前にやったことあるけどクソすぎて投げた 誰に何と言われようが二度と試す気はない 今はVSCodeを愛用している どうもありがとうございます 5分の番組もあれば120分の番組もあればと番組毎に時間はまちまちなんですが、time.sleepとwhiteループを使う場合は、次の番組の開始時間に関わらず、(たとえば)5分おきに再取得するということでしょうか? むやみに何度もアクセスするのはサイトにもこっちにも悪い気がして… >>404 どうもありがとうございます cronに自分で書き込むんじゃなくて、自動更新なのでスクリプトの中で実現させたかったです。 ターミナルのクリアは os.system('cls') で出来ました >>409 os.system('cls')は使えませんでした ターミナルのクリアはos.system('clear')でした clsはウインドウズのコマンドらしいですね >>407 プログラム内のループで、時間を足していっても、ずれてしまう。 不正確 でも、時間クラスを使って、OS から時間を教えてもらえば、できる >>412 詳しく知りたいです。 https://ideone.com/FEcZrG NGワードだと言われたのでそこにレス内容を書きました。 Ruby では、Time クラスで、 OS から時刻を教えてもらったり、時刻同士の差を求めたりできる Python にも、時刻クラスはあるはず 次まで、sleep した後、 OS から時刻を取得して、過ぎていれば、次の処理をする >>406 5分単位で番組があるだろうから、そのくらいでいいのでは? その程度の間隔のアクセスなら別に問題無いと思うよ。 気になるなら間隔をあけることになるだろうけど、 次の番組もわかるということだから、少しくらい遅れても実用上変わらないだろうし、 まずはつくってみることで、何が足りないのかもわかるしね。 個人的には、そうしたたぐいのツールは時間の正確さは不要と考えてる。 もしできるだけピタリと出したいのなら、次の番組の開始時刻を抽出して、 その開始時刻(+αは必要かも)に更新するようにすればいいでしょう。 >>415 どうもありがとうございます。 初心者なのでどのくらいの頻度でアクセスするのが常識の範囲内というか威力業務妨害やエコの観点からいいのかが分かりませんでした。 とりあえず120秒スリープさせてその後情報の再取得を行うwhileループを作ってみたんですが、情報内容に変更がなくとも2分ごとに同じ内容で更新され見た目がチラついて落ち着かなかったのでやめました。 get_next_time()という次の番組開始時刻と現在時刻の差分秒を取得する関数を作り、以下のようにループさせる事で自動で更新してくれました。 https://ideone.com/j2WbQc こうするともっといいよってアドバイスがあればお願いします。 時刻のずれがあるかもしれないから415さんのおっしゃるように差分秒に+α秒付け足したほうがよいかもですね。 待ち時間 = 次の番組開始時刻 - 現在時刻 + 1秒 待ち時間だけ、sleep 現在時刻を取得して、次の番組開始時刻以降になっていたら、処理する >>414 どうしてrubyの解説をするんですか? rubyでは、って書かないと死んじゃうんですか? >>402 windowsだとできるので環境の問題だと思うのですが 自分には見当がつきません >>414 pythonでのやり方知らない/書けないなら黙っててくんない?情報量ゼロのゴミノイズだから。 >>420 あなたのlinux環境はみんなわからないから答えようがないのでは。winで出来るならwinで出来てる環境にlinux側を寄せてみては? 下はハズレ 上は十分条件だけど必要条件ではない https://docs.python.org/3/glossary.html#term-generator >generator >A function which returns a generator iterator. >ジェネレータ >ジェネレータイテレータを返す関数 >>426 関数がジェネレータの定義 その戻り値はジェネレータのインスタンス クラスとインスタンスの関係に相当する ヘビという概念と実際にお前の背後にいるヘビの関係のようなもので、どちらが正しいということはない その用語集にも書いてあるがジェネレータという単語は両方の意味で使われるので文脈次第 ただ日本語圏ではジェネレータイテレータを指す方が逆に一般的ではないかと思わなくもない ジェネレータ関数もfunctionだし、返ってくるのはgenerator objectだしでね そこらの解説で雰囲気を掴むのは良いが、独自解釈も少なくないので公式ドキュメントを読みましょう >>427-430 ふむふむ、よくわかりました。ありがとうございます python.orgが過負荷になってただけだと思う 最近Pythonを始めたものです 質問があります .pyをexe化しようと思い VSCodeのターミナルでpyinstallerを行いました その後参考にしたサイトの手順通りに pyinstaller sample.py と入力し、最終的にはexeが出来上がるのですが実行しても何も起きません 処理としましては画像を読み込み上下反転して新しいファイル名で保存するという内容です 調べてみたのですがヒットしたサイトに書いてあることが難解で理解出来なかったため質問させて頂きました exeが出来上がるまでのターミナルのログにはWARNING lib not foundが大量に流れていました 実行出来ないのは上記のせいだと思うのですが解決方法がわかりません 解決方法をご教示頂けると幸いです Pythonは3.7 pyinstallerは3.3.1 win10の64bitです たぶんそう Python3.6に対応するのにも10ヶ月くらいかけてたからね 来年春頃にチャレンジしてくれたまえ >>435 『PyInstaller works with Python 2.7 and 3.3—3.6』 ↑オフィシャルウェブサイトのトップページに書いてる 参考にしたサイトに聞けとは言わないまでも どこを参考にしたのかは書けよ Qiitaだったら死刑 メインメニューから、 Visual Studio 2017 VS 2017 用 x64 Native Tools コマンド で、打ち込んだら行けそうだとは思う。 いや、知らんけど。 昨日初めてAIに興味がある事と後学のためにと本を買いpython触り始めた者です 現在、コマンドプロントを使ってCuPyをインストール そして、pythonにインポートしようとしたのですが、何度本の通りにしても下記画像のようになりインポートされません… プログラミング行う前の初歩中の初歩で躓いてしまい恥ずかしいですが、助けていただけないでしょうか 使用ツール アナコンダ3 4.2.0(64bit) VisualStudio2015Community CUDA 9.0 CuPy 2.3.0 Chainer 3.3.0 使用環境 win10(8.1からのアップグレード版) intelCOERi5 https://i.imgur.com/ki933GH.jpg CUDAはNVIDIAのグラボが必要だけど、それはわかってる? >>435 解決しました Pythonを3.6.5にしてsetuptoolsをダウングレードしました ありがとうございました CUDA とは、NVIDIAが開発・提供している、 GPU向けの汎用並列コンピューティングプラットフォーム(並列コンピューティングアーキテクチャ) およびプログラミングモデルである こんなもの、10年以上のベテランがやるものだろw os.renameでファイルを移動する際に移動先のフォルダがなかった場合、 フォルダを作って移動してくれる場合と、 移動に失敗する(フォルダを手動で作れば移動してくれる)場合があるんですけど なんでそうなるのかわかりません >>388 亀だけどワイもVSCode押しとく Macだったらターミナルのvim ファッキンビチグソeclipseを捨てて乗り換えるならVSCodeだろうな eclipseのように(というのもおこがましいほどにeclipseより遥かに手軽で軽量で安全で高度だが)プラグイン入れれば何にでも対応できるし、 一緒にJavaをちょっと編集したくなったときもe糞プスを起動しなくてもVSCodeのままでそこそこいける IDEからエディタに乗り換え? そこは同じIDEのVSじゃないの? eclipseのゴミのようなクォリティでIDEと呼んでいいんならVSCodeは十分にIDEとしての機能性を備えてるよ DBエディタのように、コードを超えたインターフェースもあるし 先週からpydroid3触り始めたけど、PyQt5まで動いてびっくりした。 画面の関係で、全く同じフィーリングという訳にはいかないけど、ウィンドウのレイアウトさえ修正すれば パソコンのPyQtアプリがそのまま動きそう。 母艦がXubuntuでスマホがAndoridのマイノリティな俺だけど、Andoridパッド衝動買いしちゃいそう。 アホですみません pandasで x=pd.DataFrame('A':[1,2,3],'B':[4,5,6],'C':[7,8,9]) で print(x[0:2]) で 出力が 0行目と1行目しか出ないのはなんでですか 0から2行なので合計3行出るのではないんですか >>453 「食器棚に入ってるお皿を左から2枚もってきて」 って言われたら3枚もってこないだろ?そういうことだよ >>453 head[A,B,C]が0番目として、含まれてるから 実質4要素 下記のコードで確認してみ? import pandas as pd x=pd.DataFrame({'A':[1,2,3],'B':[4,5,6],'C':[7,8,9]}) print(x[0:2]),print() print(x.head(0)),print(),print() print(x.head(1)),print() print(x.head(2)),print() print(x.head(3)),print() 名前空間だから、実際の要素では無いのか。 [遊園地の]解釈自体が間違えてるかも知れないようから、 区画ソートをできる人に聞いてくれ。 (,a,b,c,d,) 「,」の部分を数える [0:2]だったら前から0番目の「,」と2番目の「,」の間の区間(a,b) >>455 その説明では[0:2]の2は要素数を示すことになってしまうから説明として正しくない。 「食器棚に入ってるお皿をいちばん左から3枚目の手前までもってきて」が正しい表現かな。 たしか、数直線を思い浮かべてほしいんじゃなかったけかな? 0 1 2 3 +ーー+ーー+ーー+ー <う> <ん> <こ> だと [0:2]=うん になるんよ。 >>453 n、mを指定して範囲を示すとき、pythonは配列に限らずn <= x < mとなるように設計するのが基本。 これは言語によりまちまちで、最近の言語はn <= x <= mとするものも少なくない。 俺含めおっさんプログラマに後者な言語を見せると発狂して死んでしまうので注意。 rubyとかいうクソ言語では first..lastはlastが含まれ first...lastはlastが含まれないという、 どっちがどっちか覚えるしかない恣意的表記のクソ仕様。 これに限らず==、===、eql?、equal?の違いなど、コードが仕様だ精神のドキュメントあっち行け思考のクソ開発方針のため、クソ開発者がクソテキトーに決めたクソ仕様を覚えるしかないクソ言語。 ちなみにnimは、 first..lastはlastが含まれ first..<lastはlastが含まれない >>463 へぇ、そうなんだ。知らなかった。 それにしてもrubyを愛してるんだな、お前.....スカトロ? どこの板でも5ch共通点は 1.絶対に他人を褒めない。 2.煽りが尋常じゃない。 3.初心者へ謎の解説 ようやく、2,5chに慣れて来た。 Ruby房が超初心者python房を舐めてんねん。 そしたら、クソが溜まったRuby房はスカトロマニアと呼ばれて、 便器と超初心者python板を間違えて、初心者相手に、お互いに自慰好意しだす。 お互いに自分の房(棒)を舐めあってるのに、気持ち良く なる奴は居ない。と言う矛盾が生じるんだよな!! >>443 >>446 >>442 です ありがとうございます! ド素人が使えるやつじゃないのですね… 素人が使えるようにしろよ!ふざけんなふざけんな作者って気持ちです ここでも話題に上がってるようにエクリプスとか統合開発環境突っ込んでやってやります! 普段使ってるChromeからcookieをjsonファイルでエクスポート →ファイルを読み込んで、dict型にして、requestsに渡すことでログイン後のhtmlを取得 ということがやりたいんですが、具体的にはどうやればいいんでしょうか? とりあえずこの拡張が出力するjsonを渡してみたけどダメでした https://chrome.google.com/webstore/detail/editthiscookie/fngmhnnpilhplaeedifhccceomclgfbg?hl=ja 自己解決しました Cookieをエクスポートするフォーマットをsemicolon形式にして 出力されたテキストを置換して cookie=dict(aaa="123",bbb="234") みたいにやったらうまくいきました テキストファイルの末尾から10行を表示したいのだけど どうやればいいのか全くわからない テキストが数百ギガバイトあるため、全部リストにぶち込むとかは無理 一回目で先頭から末尾まで行数を数えて二回目で行数-10だけ飛ばす collection.dequeをmaxlen=10にして全行appendする tailコマンドを使う どれでもどうぞ tailコマンドのソース見てpythonで書き直せばいい 車輪の再発明バンザイ Ruby では、IO クラスの、 io.each_line で、1行ずつ読み込める io.read(size) で、サイズ指定して読み込める io.pos, io.seek で、ファイルポインタも移動できる いや逆に今日日できない言語なんてないからオワコンくそ言語は黙ってろ こういうやり取りを見てるとプログラムを書くってのは面白いなと思う、人それぞれなんだよな >>471 ちょっと搦手かも知れないけど、やっぱりめんどくさいから俺もtailコマンド使うかな? >>> import subprocess >>> ret=subprocess.check_output(['tail','-n10','theFile.txt']) >>479 そだな。ごめん。お目汚しをしてしまって忝ない。 >>476 一つ言える事は俺たちがクソやからそうなるだけで 賢い人達のプログラムにはここまで多様性はない python初心者です、環境について教えてください VSCodeとPyCharmだとどちらがおすすめでしょうか? また、Windowsで他におすすめありますか? クレクレですみません PyCharmは高価な有償製品なので無償で使える機能には制限がある 無料でプラグイン入れてカスタマイズしたいならVSCode 無料でWeb開発したいならVSCode >>482 Geany使ってたけどWinにもある? 最近VSCodeに乗り換えました。 手軽にカスタマイズするならSciteもいいかも(Geanyの前に使ってた)。 Atomも最近はやってるらしいけど、挫折しました、てへ。 すみません、pythonの並列化処理で教えていただければと pythonを最近学び始め、joblibやmultiprocessing というモジュールをインポートすれば並列化できるというところまではわかりました。 ですが、1から100までのfor文を分割して、1~25,26~50,51~75,76~100のようなことを4つのコアそれぞれにやらせようとすると、どう対処したら良いのかわからないのですが、 こういう場合に良いやり方はあるのでしょうか? 公式に有る標準のpythonで良いやろ。 マルチスレッド&マルチコアはGGったら出てくる。 ただ、実装は、どうなるか分からない。 import multiprocessing from multiprocessing import Pipe from multiprocessing import Lock from multiprocessing import Manager from multiprocessing import Process from multiprocessing import Value, Array from multiprocessing import Pool, TimeoutError https://docs.python.jp/3/library/multiprocessing.html GPU不明 import os import platform import multiprocessing l=platform.system() r=multiprocessing.cpu_count() lr=len(os.sched_getaffinity(0)) print(l,r,lr) >>488 >>489 ありがとうございます。 まだすぐには理解できませんが、 理解できるまで記述いただいた内容や公式リンクをよく勉強します。 >>482 本格的とはいえないけど、 PyScripterはとにかく軽くていい。 エディター部分が少し弱い気もするけど、 一応IDEらしいことができるし、重宝してる。 >>482 皆さん沢山レスくださりありがとうございました 是非参考にさせていただきます >>487 makefile書いてmake -j4でいいよ >>> x = int(input("整数を入れてください;")) 整数を入れてください;44 >>> if x < 0: x = 0 print("負数はゼロとする") elif x ==0: SyntaxError: inconsistent use of tabs and spaces in indentation "オライリー Python チュートリアル第3版”本の通りにテストしようとすると、 途中でエラーが出てしまう。 実行環境は Windows10 x64, python は以前3.6でうまくいかないので、3.7しました。 Python 3.7.0 (v3.7.0:1bf9cc5093, Jun 27 2018, 04:59:51) [MSC v.1914 64 bit (AMD64)] on win32 Type "copyright", "credits" or "license()" for more information. SyntaxError: inconsistent use of tabs and spaces in indentation このエラーの通りだろ インデントに タブ と スペース が混在している >>497 インデントが矛盾してますってエラーなんだけど注意して見てみたら? 前から思ってたけど、文頭の空白が削除されて2ちゃんはPython向けじゃないなぁと...。 専ブラなら大丈夫なんすか? コードが崩れるからideoneとか投稿して貼れと>>1 に書いてあったと思ったが 誰か消したのか ■ このスレッドは過去ログ倉庫に格納されています
read.cgi ver 07.5.5 2024/06/08 Walang Kapalit ★ | Donguri System Team 5ちゃんねる