X



くだすれPython(超初心者用) その38

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
垢版 |
2018/05/17(木) 11:09:14.54ID:WeqM6vIc
このスレッドは、他のスレッドでは書き込めない超低レベル、
もしくは質問者自身何が何だか分からない質問を勇気を持って書き込むスレッドです。
へび使いが優しくコメントを返しますが、お礼は Python の布教と初心者の救済をお願いします。

エラーを解決したいときはエラー表示や環境(バージョン/IDE or command line)を略さずに書き込んで下さい。
騙りが頻発しています。質問する方は一時的なトリップをつけることを検討して下さい。
次スレは >>985 辺りで

前スレ
くだすれPython(超初心者用) その37
http://mevius.5ch.net/test/read.cgi/tech/1521271945/
0403デフォルトの名無しさん
垢版 |
2018/06/30(土) 00:10:50.95ID:tr0WXiW5
python.org なんかで試すな!

実験用のサイトじゃねえぞ。
負荷を掛けるな

そもそも、HTML を読み込んでも、
ブラウザじゃないのに、JavaScript は実行されないだろ

普通は、Ruby などで、selenium-webdriver で、Chrome を実行したりする。
本物のブラウザを操作しないと、正しくページが実行されない
0404デフォルトの名無しさん
垢版 |
2018/06/30(土) 00:15:53.55ID:tr0WXiW5
>>401
Linux では、at, cron に登録すれば、
その時間が来れば、アプリを起動してくれる

Windows にも、同様のサービスがあるはず
0405デフォルトの名無しさん
垢版 |
2018/06/30(土) 00:15:55.13ID:+UtvNLZx
>>388
7年くらい前にやったことあるけどクソすぎて投げた
誰に何と言われようが二度と試す気はない
今はVSCodeを愛用している
0406401
垢版 |
2018/06/30(土) 00:19:51.24ID:i9q8wfr8
どうもありがとうございます
5分の番組もあれば120分の番組もあればと番組毎に時間はまちまちなんですが、time.sleepとwhiteループを使う場合は、次の番組の開始時間に関わらず、(たとえば)5分おきに再取得するということでしょうか?
むやみに何度もアクセスするのはサイトにもこっちにも悪い気がして…
0407401
垢版 |
2018/06/30(土) 00:22:30.76ID:i9q8wfr8
>>404
どうもありがとうございます
cronに自分で書き込むんじゃなくて、自動更新なのでスクリプトの中で実現させたかったです。
0408401
垢版 |
2018/06/30(土) 00:22:53.38ID:i9q8wfr8
>>406
>>402 へのレスです
0409401
垢版 |
2018/06/30(土) 00:27:03.93ID:i9q8wfr8
ターミナルのクリアは
os.system('cls')
で出来ました
0410401
垢版 |
2018/06/30(土) 00:28:13.49ID:i9q8wfr8
>>409
os.system('cls')は使えませんでした
0411401
垢版 |
2018/06/30(土) 00:30:08.38ID:i9q8wfr8
ターミナルのクリアはos.system('clear')でした
clsはウインドウズのコマンドらしいですね
0412404
垢版 |
2018/06/30(土) 00:37:57.47ID:tr0WXiW5
>>407
プログラム内のループで、時間を足していっても、ずれてしまう。
不正確

でも、時間クラスを使って、OS から時間を教えてもらえば、できる
0413401
垢版 |
2018/06/30(土) 01:10:16.93ID:i9q8wfr8
>>412
詳しく知りたいです。
https://ideone.com/FEcZrG

NGワードだと言われたのでそこにレス内容を書きました。
0414404
垢版 |
2018/06/30(土) 01:32:24.16ID:tr0WXiW5
Ruby では、Time クラスで、
OS から時刻を教えてもらったり、時刻同士の差を求めたりできる

Python にも、時刻クラスはあるはず

次まで、sleep した後、
OS から時刻を取得して、過ぎていれば、次の処理をする
0415デフォルトの名無しさん
垢版 |
2018/06/30(土) 01:36:08.00ID:3Ww0WFPX
>>406
5分単位で番組があるだろうから、そのくらいでいいのでは?
その程度の間隔のアクセスなら別に問題無いと思うよ。
気になるなら間隔をあけることになるだろうけど、
次の番組もわかるということだから、少しくらい遅れても実用上変わらないだろうし、
まずはつくってみることで、何が足りないのかもわかるしね。
個人的には、そうしたたぐいのツールは時間の正確さは不要と考えてる。

もしできるだけピタリと出したいのなら、次の番組の開始時刻を抽出して、
その開始時刻(+αは必要かも)に更新するようにすればいいでしょう。
0416401
垢版 |
2018/06/30(土) 02:37:49.78ID:i9q8wfr8
>>415
どうもありがとうございます。
初心者なのでどのくらいの頻度でアクセスするのが常識の範囲内というか威力業務妨害やエコの観点からいいのかが分かりませんでした。
とりあえず120秒スリープさせてその後情報の再取得を行うwhileループを作ってみたんですが、情報内容に変更がなくとも2分ごとに同じ内容で更新され見た目がチラついて落ち着かなかったのでやめました。

get_next_time()という次の番組開始時刻と現在時刻の差分秒を取得する関数を作り、以下のようにループさせる事で自動で更新してくれました。

https://ideone.com/j2WbQc

こうするともっといいよってアドバイスがあればお願いします。
時刻のずれがあるかもしれないから415さんのおっしゃるように差分秒に+α秒付け足したほうがよいかもですね。
0417デフォルトの名無しさん
垢版 |
2018/06/30(土) 03:05:12.80ID:tr0WXiW5
待ち時間 = 次の番組開始時刻 - 現在時刻 + 1秒

待ち時間だけ、sleep

現在時刻を取得して、次の番組開始時刻以降になっていたら、処理する
0420デフォルトの名無しさん
垢版 |
2018/06/30(土) 10:12:01.97ID:xZj/2lQZ
>>402
windowsだとできるので環境の問題だと思うのですが
自分には見当がつきません
0421デフォルトの名無しさん
垢版 |
2018/06/30(土) 11:32:40.83ID:BB0BPsjY
>>414
pythonでのやり方知らない/書けないなら黙っててくんない?情報量ゼロのゴミノイズだから。
0422デフォルトの名無しさん
垢版 |
2018/06/30(土) 11:33:30.26ID:6ip4g6CI
>>420
あなたのlinux環境はみんなわからないから答えようがないのでは。winで出来るならwinで出来てる環境にlinux側を寄せてみては?
0429デフォルトの名無しさん
垢版 |
2018/06/30(土) 14:34:33.33ID:+7yWvOia
>>426
関数がジェネレータの定義
その戻り値はジェネレータのインスタンス
クラスとインスタンスの関係に相当する
ヘビという概念と実際にお前の背後にいるヘビの関係のようなもので、どちらが正しいということはない
0430デフォルトの名無しさん
垢版 |
2018/06/30(土) 14:42:17.36ID:hB6thL97
その用語集にも書いてあるがジェネレータという単語は両方の意味で使われるので文脈次第
ただ日本語圏ではジェネレータイテレータを指す方が逆に一般的ではないかと思わなくもない
ジェネレータ関数もfunctionだし、返ってくるのはgenerator objectだしでね

そこらの解説で雰囲気を掴むのは良いが、独自解釈も少なくないので公式ドキュメントを読みましょう
0434デフォルトの名無しさん
垢版 |
2018/06/30(土) 21:01:27.46ID:F/jI374V
python.orgが過負荷になってただけだと思う
0435デフォルトの名無しさん
垢版 |
2018/07/01(日) 01:20:36.68ID:blR+9qab
最近Pythonを始めたものです
質問があります

.pyをexe化しようと思い
VSCodeのターミナルでpyinstallerを行いました
その後参考にしたサイトの手順通りに
pyinstaller sample.py
と入力し、最終的にはexeが出来上がるのですが実行しても何も起きません
処理としましては画像を読み込み上下反転して新しいファイル名で保存するという内容です

調べてみたのですがヒットしたサイトに書いてあることが難解で理解出来なかったため質問させて頂きました

exeが出来上がるまでのターミナルのログにはWARNING lib not foundが大量に流れていました
実行出来ないのは上記のせいだと思うのですが解決方法がわかりません

解決方法をご教示頂けると幸いです

Pythonは3.7
pyinstallerは3.3.1
win10の64bitです
0438デフォルトの名無しさん
垢版 |
2018/07/01(日) 07:52:54.30ID:KMROIkKi
たぶんそう
Python3.6に対応するのにも10ヶ月くらいかけてたからね
来年春頃にチャレンジしてくれたまえ
0439デフォルトの名無しさん
垢版 |
2018/07/01(日) 09:45:24.69ID:HXukxj3q
>>435
『PyInstaller works with Python 2.7 and 3.3—3.6』

↑オフィシャルウェブサイトのトップページに書いてる
0440デフォルトの名無しさん
垢版 |
2018/07/01(日) 09:55:00.54ID:usR85dqh
参考にしたサイトに聞けとは言わないまでも
どこを参考にしたのかは書けよ
Qiitaだったら死刑
0441遊園地 ◆ExGQrDul2E
垢版 |
2018/07/01(日) 10:14:27.87ID:wtxZXieP
メインメニューから、
Visual Studio 2017
VS 2017 用 x64 Native Tools コマンド


で、打ち込んだら行けそうだとは思う。
いや、知らんけど。
0442デフォルトの名無しさん
垢版 |
2018/07/01(日) 13:24:05.16ID:B6/ICS0x
昨日初めて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
0444デフォルトの名無しさん
垢版 |
2018/07/01(日) 13:43:41.63ID:blR+9qab
>>435
解決しました
Pythonを3.6.5にしてsetuptoolsをダウングレードしました
ありがとうございました
0446デフォルトの名無しさん
垢版 |
2018/07/02(月) 07:51:12.76ID:9wGdj7CA
CUDA とは、NVIDIAが開発・提供している、
GPU向けの汎用並列コンピューティングプラットフォーム(並列コンピューティングアーキテクチャ)
およびプログラミングモデルである

こんなもの、10年以上のベテランがやるものだろw
0447デフォルトの名無しさん
垢版 |
2018/07/02(月) 11:12:23.11ID:h1vNIHyU
os.renameでファイルを移動する際に移動先のフォルダがなかった場合、
フォルダを作って移動してくれる場合と、
移動に失敗する(フォルダを手動で作れば移動してくれる)場合があるんですけど
なんでそうなるのかわかりません
0449デフォルトの名無しさん
垢版 |
2018/07/02(月) 12:47:13.81ID:lZblgvr/
ファッキンビチグソeclipseを捨てて乗り換えるならVSCodeだろうな
eclipseのように(というのもおこがましいほどにeclipseより遥かに手軽で軽量で安全で高度だが)プラグイン入れれば何にでも対応できるし、
一緒にJavaをちょっと編集したくなったときもe糞プスを起動しなくてもVSCodeのままでそこそこいける
0451デフォルトの名無しさん
垢版 |
2018/07/02(月) 13:00:11.52ID:lZblgvr/
eclipseのゴミのようなクォリティでIDEと呼んでいいんならVSCodeは十分にIDEとしての機能性を備えてるよ
DBエディタのように、コードを超えたインターフェースもあるし
0452デフォルトの名無しさん
垢版 |
2018/07/02(月) 14:31:17.41ID:eMVFPvKk
先週からpydroid3触り始めたけど、PyQt5まで動いてびっくりした。
画面の関係で、全く同じフィーリングという訳にはいかないけど、ウィンドウのレイアウトさえ修正すれば
パソコンのPyQtアプリがそのまま動きそう。
母艦がXubuntuでスマホがAndoridのマイノリティな俺だけど、Andoridパッド衝動買いしちゃいそう。
0453デフォルトの名無しさん
垢版 |
2018/07/02(月) 20:35:28.32ID:sDqJNw7J
アホですみません
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行出るのではないんですか
0455デフォルトの名無しさん
垢版 |
2018/07/03(火) 08:01:32.39ID:6Spyoog5
>>453
「食器棚に入ってるお皿を左から2枚もってきて」
って言われたら3枚もってこないだろ?そういうことだよ
0457遊園地 ◆ExGQrDul2E
垢版 |
2018/07/03(火) 10:58:28.98ID:syKRmC4v
>>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()
0458遊園地 ◆ExGQrDul2E
垢版 |
2018/07/03(火) 11:04:40.79ID:syKRmC4v
名前空間だから、実際の要素では無いのか。
[遊園地の]解釈自体が間違えてるかも知れないようから、
区画ソートをできる人に聞いてくれ。
0459デフォルトの名無しさん
垢版 |
2018/07/03(火) 11:12:44.04ID:EG+Srxkj
(,a,b,c,d,)
「,」の部分を数える
[0:2]だったら前から0番目の「,」と2番目の「,」の間の区間(a,b)
0460デフォルトの名無しさん
垢版 |
2018/07/03(火) 12:34:53.41ID:RGWVubcd
>>455
その説明では[0:2]の2は要素数を示すことになってしまうから説明として正しくない。
「食器棚に入ってるお皿をいちばん左から3枚目の手前までもってきて」が正しい表現かな。

たしか、数直線を思い浮かべてほしいんじゃなかったけかな?
0  1  2  3
+ーー+ーー+ーー+ー  
<う> <ん> <こ>      だと
[0:2]=うん になるんよ。
0461デフォルトの名無しさん
垢版 |
2018/07/03(火) 12:40:28.33ID:OVTJrzKJ
>>453
n、mを指定して範囲を示すとき、pythonは配列に限らずn <= x < mとなるように設計するのが基本。
これは言語によりまちまちで、最近の言語はn <= x <= mとするものも少なくない。

俺含めおっさんプログラマに後者な言語を見せると発狂して死んでしまうので注意。
0463デフォルトの名無しさん
垢版 |
2018/07/03(火) 13:06:36.53ID:onhdh/0N
rubyとかいうクソ言語では
first..lastはlastが含まれ
first...lastはlastが含まれないという、
どっちがどっちか覚えるしかない恣意的表記のクソ仕様。
これに限らず==、===、eql?、equal?の違いなど、コードが仕様だ精神のドキュメントあっち行け思考のクソ開発方針のため、クソ開発者がクソテキトーに決めたクソ仕様を覚えるしかないクソ言語。

ちなみにnimは、
first..lastはlastが含まれ
first..<lastはlastが含まれない
0464453
垢版 |
2018/07/03(火) 15:12:44.88ID:+Y7+qb84
ありがとうございます!
0465デフォルトの名無しさん
垢版 |
2018/07/03(火) 15:28:12.44ID:RGWVubcd
>>463
へぇ、そうなんだ。知らなかった。

それにしてもrubyを愛してるんだな、お前.....スカトロ?
0466遊園地 ◆ExGQrDul2E
垢版 |
2018/07/03(火) 16:10:15.77ID:syKRmC4v
どこの板でも5ch共通点は
1.絶対に他人を褒めない。
2.煽りが尋常じゃない。
3.初心者へ謎の解説

ようやく、2,5chに慣れて来た。


Ruby房が超初心者python房を舐めてんねん。
そしたら、クソが溜まったRuby房はスカトロマニアと呼ばれて、
便器と超初心者python板を間違えて、初心者相手に、お互いに自慰好意しだす。

お互いに自分の房(棒)を舐めあってるのに、気持ち良く
なる奴は居ない。と言う矛盾が生じるんだよな!!
0467デフォルトの名無しさん
垢版 |
2018/07/03(火) 16:55:25.48ID:jrYnrzqQ
>>443
>>446

>>442です
ありがとうございます!
ド素人が使えるやつじゃないのですね…
素人が使えるようにしろよ!ふざけんなふざけんな作者って気持ちです
ここでも話題に上がってるようにエクリプスとか統合開発環境突っ込んでやってやります!
0468デフォルトの名無しさん
垢版 |
2018/07/03(火) 18:09:57.03ID:HI6Z9dZ+
普段使ってるChromeからcookieをjsonファイルでエクスポート
→ファイルを読み込んで、dict型にして、requestsに渡すことでログイン後のhtmlを取得
ということがやりたいんですが、具体的にはどうやればいいんでしょうか?

とりあえずこの拡張が出力するjsonを渡してみたけどダメでした
https://chrome.google.com/webstore/detail/editthiscookie/fngmhnnpilhplaeedifhccceomclgfbg?hl=ja
0469デフォルトの名無しさん
垢版 |
2018/07/03(火) 18:32:16.07ID:HI6Z9dZ+
自己解決しました
Cookieをエクスポートするフォーマットをsemicolon形式にして
出力されたテキストを置換して
cookie=dict(aaa="123",bbb="234") みたいにやったらうまくいきました
0471デフォルトの名無しさん
垢版 |
2018/07/03(火) 20:15:04.43ID:0rbKYYHZ
テキストファイルの末尾から10行を表示したいのだけど
どうやればいいのか全くわからない
テキストが数百ギガバイトあるため、全部リストにぶち込むとかは無理
0472デフォルトの名無しさん
垢版 |
2018/07/03(火) 20:39:09.05ID:BhHhKgjH
一回目で先頭から末尾まで行数を数えて二回目で行数-10だけ飛ばす
collection.dequeをmaxlen=10にして全行appendする
tailコマンドを使う

どれでもどうぞ
0474デフォルトの名無しさん
垢版 |
2018/07/04(水) 00:33:23.52ID:OxUMeZjO
Ruby では、IO クラスの、

io.each_line で、1行ずつ読み込める
io.read(size) で、サイズ指定して読み込める

io.pos, io.seek で、ファイルポインタも移動できる
0476デフォルトの名無しさん
垢版 |
2018/07/04(水) 05:16:53.53ID:lYpq3kCa
こういうやり取りを見てるとプログラムを書くってのは面白いなと思う、人それぞれなんだよな
0478デフォルトの名無しさん
垢版 |
2018/07/04(水) 11:00:47.00ID:NOHgpGJH
>>471
ちょっと搦手かも知れないけど、やっぱりめんどくさいから俺もtailコマンド使うかな?

>>> import subprocess
>>> ret=subprocess.check_output(['tail','-n10','theFile.txt'])
0481デフォルトの名無しさん
垢版 |
2018/07/04(水) 12:22:02.07ID:4DkGM1mz
>>476
一つ言える事は俺たちがクソやからそうなるだけで
賢い人達のプログラムにはここまで多様性はない
0482デフォルトの名無しさん
垢版 |
2018/07/04(水) 13:23:29.16ID:xdX5HHps
python初心者です、環境について教えてください
VSCodeとPyCharmだとどちらがおすすめでしょうか?
また、Windowsで他におすすめありますか?
クレクレですみません
0484デフォルトの名無しさん
垢版 |
2018/07/04(水) 13:46:15.41ID:sK+g9tr5
PyCharmは高価な有償製品なので無償で使える機能には制限がある
無料でプラグイン入れてカスタマイズしたいならVSCode
無料でWeb開発したいならVSCode
0485デフォルトの名無しさん
垢版 |
2018/07/04(水) 14:04:48.83ID:NOHgpGJH
>>482
Geany使ってたけどWinにもある? 最近VSCodeに乗り換えました。
手軽にカスタマイズするならSciteもいいかも(Geanyの前に使ってた)。

Atomも最近はやってるらしいけど、挫折しました、てへ。
0486デフォルトの名無しさん
垢版 |
2018/07/04(水) 21:51:27.72ID:gFgZc5FG
U54
0487デフォルトの名無しさん
垢版 |
2018/07/04(水) 22:33:53.48ID:ng+0N/IT
すみません、pythonの並列化処理で教えていただければと
pythonを最近学び始め、joblibやmultiprocessing というモジュールをインポートすれば並列化できるというところまではわかりました。
ですが、1から100までのfor文を分割して、1~25,26~50,51~75,76~100のようなことを4つのコアそれぞれにやらせようとすると、どう対処したら良いのかわからないのですが、
こういう場合に良いやり方はあるのでしょうか?
0488遊園地 ◆ExGQrDul2E
垢版 |
2018/07/04(水) 22:47:14.54ID:fl3R7P9J
公式に有る標準の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
0489遊園地 ◆ExGQrDul2E
垢版 |
2018/07/04(水) 23:07:07.97ID:fl3R7P9J
GPU不明

import os
import platform
import multiprocessing
l=platform.system()
r=multiprocessing.cpu_count()
lr=len(os.sched_getaffinity(0))
print(l,r,lr)
0490デフォルトの名無しさん
垢版 |
2018/07/04(水) 23:39:57.98ID:ng+0N/IT
>>488
>>489
ありがとうございます。
まだすぐには理解できませんが、
理解できるまで記述いただいた内容や公式リンクをよく勉強します。
0491デフォルトの名無しさん
垢版 |
2018/07/05(木) 00:09:26.59ID:T0L/NWDK
>>482
本格的とはいえないけど、
PyScripterはとにかく軽くていい。
エディター部分が少し弱い気もするけど、
一応IDEらしいことができるし、重宝してる。
0496デフォルトの名無しさん
垢版 |
2018/07/05(木) 11:42:30.52ID:IcGtf/nv
ageてみる
0497デフォルトの名無しさん
垢版 |
2018/07/06(金) 20:40:03.20ID:8M+Xsunh
>>> 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.
0498デフォルトの名無しさん
垢版 |
2018/07/06(金) 22:37:56.41ID:sIOuXx+P
SyntaxError: inconsistent use of tabs and spaces in indentation

このエラーの通りだろ
インデントに タブ と スペース が混在している
0501デフォルトの名無しさん
垢版 |
2018/07/07(土) 09:46:01.38ID:7kPpsH+C
前から思ってたけど、文頭の空白が削除されて2ちゃんはPython向けじゃないなぁと...。
専ブラなら大丈夫なんすか?
0502デフォルトの名無しさん
垢版 |
2018/07/07(土) 10:00:59.73ID:pa4NPo43
コードが崩れるからideoneとか投稿して貼れと>>1に書いてあったと思ったが
誰か消したのか
■ このスレッドは過去ログ倉庫に格納されています

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