くだすれPython(超初心者用) その38at TECH
くだすれPython(超初心者用) その38 - 暇つぶし2ch2:デフォルトの名無しさん
18/05/17 12:20:17.76 iZJ2pTFF.net
全くPythonのことを知りませんが、Windowsでの開発環境(IDE)は何が良いのでしょうか?
最近主に使ったのは、VisualStudio(C#)とAndroidStudio(Java)です。

3:デフォルトの名無しさん
18/05/17 12:24:16.25 HY+Xmele.net
o2

4:デフォルトの名無しさん
18/05/17 12:47:30.54 8m5Ep3+2.net
>>2
たぶんはやってるのは PyCharm
でも おれは せっかくだから この Sakuraエディタを つかうぜ!

5:デフォルトの名無しさん
18/05/17 22:15:53.93 xyv/vBFH.net
notepad++

6:デフォルトの名無しさん
18/05/18 01:25:25.00 bfCaazYM.net
>>2
VisualStudioに慣


7:れている人なら、2015か2017のインストーラーでPythonツールを追加インストールするだけで ソリューションにPythonプロジェクト(.pyproj)が組み込める Python環境を複数入れてても設定で切り替え出来るし、構文チェックやデバッガも使えるから楽



8:デフォルトの名無しさん
18/05/18 01:30:17.41 bfCaazYM.net
前スレの >>988
株価予測は分類系のAIとはモデル構造が違うから、まずRNNモデルの入出力方法を覚える
慣れてきたらRNNの代わりにLSTMを使ってみる
ChainerでのRNN構築が難しそうなら、Kerasの方が簡単かもしれない
Kerasなら同じプログラムのままでGPU演算も自動判別して切り替えてくれる(GeForce系のグラボがあれば)

9:デフォルトの名無しさん
18/05/18 09:13:51.93 C1p7hCcF.net
pythonで入力待ちしないでキー入力を受けとりたい(キー入力判定したい)んですが良い方法ありますか?
環境はPython3.6 Win10 PowerShellです

10:デフォルトの名無しさん
18/05/18 09:54:37.86 syGPQ258.net
>>6
あー、追加でPython環境を入れられますね
VSに慣れてるから、これが一番とっつきやすいかな

11:デフォルトの名無しさん
18/05/18 12:21:59.26 0bNlNqhZ.net
>>6
VisualStudioいいよね
デッバクが楽すぎる これが圧倒的に
使いやすいと思うけどいまいち使われてない気がする

12:デフォルトの名無しさん
18/05/18 12:39:05.38 fwshwP4z.net
>>8
Windowsってfork使えないよね?(使えるならfork使えば良い)
キー入力を監視する処理と、メインの処理を同時にマルチスレッドで実行とかダメかい?
URLリンク(guri-tech.com)

13:デフォルトの名無しさん
18/05/18 12:39:24.74 fwshwP4z.net
>>8
Windowsってfork使えないよね?(使えるならfork使えば良い)
キー入力を監視する処理と、メインの処理を同時にマルチスレッドで実行とかダメかい?
URLリンク(guri-tech.com)

14:デフォルトの名無しさん
18/05/18 13:06:19.55 CXmSrKnd.net
>>10
デッバクとか書いちゃう人の言うことは信じていいの?

15:デフォルトの名無しさん
18/05/18 16:09:40.23 0IKxFX6d.net
マルチスッドレとかいうスレもあるしな

16:デフォルトの名無しさん
18/05/18 16:39:16.93 mfuydgPy.net
フォークて何や?

17:デフォルトの名無しさん
18/05/18 18:08:19.62 wWV9OIbj.net
スプーンに切れ目を入れたもの

18:デフォルトの名無しさん
18/05/18 22:39:34.06 G//xWDDK.net
デッバグ知らんのか。

19:デフォルトの名無しさん
18/05/18 23:02:49.48 6o3S2gWG.net
bugをバグと呼ぶ奴はdebugのこともデバッグではなくデバグと呼ぶべき。

20:デフォルトの名無しさん
18/05/18 23:36:00.55 /9m6fhcD.net
>>18
だよな。
ついでに英語のDebugのDeの発音はデじゃなくディーに近いのにな

21:デフォルトの名無しさん
18/05/19 00:25:24.62 Ec2DQQjB.net
でーでーてー

22:デフォルトの名無しさん
18/05/19 00:47:28.51 cUBYzyDN.net
2ちゃんねる時代は順番や文字を入れ替えて書くのが当たり前だったけど、最近はそうでもないのかな
オパーイとかと一緒だろ

23:デフォルトの名無しさん
18/05/19 00:49:23.47 O40Hbg/A.net
日本人は耳が変だらんから
マルティ->マルチ、ディーバッグ->デバッグと聞こえるし
日本語をローマ字にするときでもrの発音やfの発音になるのを割り当てるからな
日本語の富士山はFujiyamaよりHujiyamaの方が日本語の発音に近いのに

24:デフォルトの名無しさん
18/05/19 00:58:25.93 zLtOYX5i.net
/^o^\フッジッサーン

25:デフォルトの名無しさん
18/05/19 06:39:55.50 7fCW1aeJ.net
実際の音を聞く機会が少なかったのだから仕方ない

26:デフォルトの名無しさん
18/05/19 07:15:07.33 b7x1I7X/.net
>>13
見逃してた。いつぞやのケブンリッジと同じでやはり最初と最後が合ってると途中の文字順が違ってても騙されるな。

27:デフォルトの名無しさん
18/05/19 07:17:11.30 EiImd7MY.net
明治時代の先人は偉大だったね
漢籍は重要だった

28:デフォルトの名無しさん
18/05/19 08:05:39.40 Uou9JhAx.net
>>21
オパーイやセクースは
何かタイプして楽しいじゃん。
デッバグはイけてないだろ。

29:デフォルトの名無しさん
18/05/19 08:13:27.05 7fCW1aeJ.net
ディーバッグだとお出かけするみたいだろ

30:デフォルトの名無しさん
18/05/19 08:53:18.60 ijkQlh0o.net
>>22
マルチはむしろムーティって聴こえる

31:デフォルトの名無しさん
18/05/19 09:39:24.26 Z0jiH0Xz.net
最近超話題の聞き取り、Laurel and Yanny
日本人が月桂樹(ローレル)を英語で言ったら、ネーティブにはYannyと聞こえるらしいからな
日本人はCambridgeのmをンと発音するニダで
ネーティブがそれ聞くとCanbridgeってなってなにそれなんだろう

32:デフォルトの名無しさん
18/05/19 09:47:37.12 Z0jiH0Xz.net
pythonユーザーに関してはyoutube(日本人はようつべと発音)とかの英語のビデオで
Python学習が普通になったから、英語の発音や聞き取り力がかなり高い奴が多いらしいよな

33:デフォルトの名無しさん
18/05/19 16:19:34.52 boYtosL3.net
>>31
そこテキトーなこと言わない

34:デフォルトの名無しさん
18/05/19 23:32:16.20 Ki+rvsO8.net
>>12
ありがとうございます。確かにthreadingを利用してマルチスレッド化→入力待ち関数とループ処理に分割、というのが良さそうですね。
Windowsではwin32api等を利用すると標準入力などで出来ることが増えそうですが、初心者には難しいですね…

35:デフォルトの名無しさん
18/05/20 00:31:50.18 7wv7cXB1.net
条件式で全角数字を判別する方法って正規表現使う以外に考えられますかね?

36:デフォルトの名無しさん
18/05/20 00:47:24.73 KHjLXF7u.net
if re.match(r'[0-9]+', target):
が他に書き方あるかって話?
実用的かはともかく、setにして差集合を取る方法でも書ける

37:デフォルトの名無しさん
18/05/20 07:50:19.52 EdxwYL1E.net
やっぱり機械学習やるならtensoflowなのか

38:デフォルトの名無しさん
18/05/20 11:21:59.27 V9eOsuAz.net
>>33
初心者に難しいって言ってたらいつまでも初心者だぞ
薄皮一枚破った先に素晴らしい世界があるのに

39:デフォルトの名無しさん
18/05/20 13:46:03.67 KHjLXF7u.net
>>36
どこまでやる気なのか知らないけど、ほとんどの場合PyTorchやKerasやChainerで十分でしょ
自分にはこれこれこういう理由でTensorflowが必要だと言えるようになってからTensorflowを始めるといいよ

40:デフォルトの名無しさん
18/05/20 14:31:35.76 x5q6sh+1.net
>>2
pytharmがいいよ
簡単に一瞬で日本語になるし無料だし便利なの

41:デフォルトの名無しさん
18/05/20 15:03:31.17 x5q6sh+1.net
>>39
pycharmだった

42:デフォルトの名無しさん
18/05/20 20:44:55.84 d3vEmIWO.net
sqlalchemyのsessionってクラスなの?
それ


43:ともsessionmakerのインスタンスなんですか?



44:デフォルトの名無しさん
18/05/20 20:51:10.37 tGy/f9Df.net
誘導
スレリンク(php板)

45:デフォルトの名無しさん
18/05/21 17:51:27.48 /fyuPWYc.net
pywin32でエクセルを開くと、稀に「呼び出し先に拒否されました」と表示され
エクセルのオープンに失敗する。
原因がわからん。
同じような経験した人います?

46:デフォルトの名無しさん
18/05/21 19:35:52.96 jGdjFtIo.net
既にExcelアプリで開いてるファイルを
書き込みモードで開こうとしたとか?
Excelは書き込みロックしやがるから

47:デフォルトの名無しさん
18/05/22 11:13:23.23 ZWMAcmk/.net
ロック状態が残ってるのかも
UnLockerとかでデッドロックプロセスがないか確認

48:デフォルトの名無しさん
18/05/22 17:40:24.58 8rzeJe30.net
[ [x1,y1], [x2,y2], ........]というリストがあるとして
y成分をある一定以上になるまで足していった時のx成分はどうやって求めたらいいでしょうか?

49:デフォルトの名無しさん
18/05/22 18:56:40.98 HBwTw42R.net
>>46
一定以上になった所でxをreturnしてしまえばいいと思います

50:デフォルトの名無しさん
18/05/23 00:52:53.09 TJzebZ52.net
>>47は頭良いな

51:デフォルトの名無しさん
18/05/23 12:35:17.11 NOnrbGKy.net
超既出かもしれませんが。
SpyderやIDLE上で実行するとメインスレッドが終了してもデーモンスレッドが終了しないまま実行され続けるのは
SpyderやIDLE固有の問題ですか?
コマンドプロンプト上で実行した場合では正常に終了するのですが。
以下のようなコードです。
import threading
import time
def daemonThread():
while True:
print('デーモンスレッド実行中')
time.sleep(1)
daemon_thread = threading.Thread(target=daemonThread, daemon = True)
daemon_thread.start()
for i in range(5):
print('メインスレッド実行中')
time.sleep(1)
print('メインスレッド終了')

52:デフォルトの名無しさん
18/05/23 13:03:33.06 NOnrbGKy.net
インデントに失敗しました。
全角スペースでインデントしているので半角スペースに直して頂けると幸いです。
import threading
import time
def daemonThread():
 while True:
  print('デーモンスレッド実行中')
  time.sleep(1)
daemon_thread = threading.Thread(target=daemonThread, daemon = True)
daemon_thread.start()
for i in range(5):
 print('メインスレッド実行中')
 time.sleep(1)
print('メインスレッド終了')

53:デフォルトの名無しさん
18/05/23 19:06:36.04 Au5e7VGg.net
僕の知り合いの知り合いができたパソコン一台でお金持ちになれるやり方
役に立つかもしれません
グーグルで検索するといいかも『ネットで稼ぐ方法 モニアレフヌノ』
BYX24

54:デフォルトの名無しさん
18/05/24 08:15:04.43 iCU5E11d.net
@propertyについて質問です。
@property def x(self):と
@x.setter def x(self,value):
が実装されたTestクラスについて、
この引数valueはTestクラスによって作られたインスタンスtest_instanceの変数(プロバティメソッド)test_instance.xの値が代入されるという考えでよろしいのでしょうか?
以下がその例です。
class Test:
def __init__(self):
self.number = 0
@property
def point(self):
return self.number
@point.setter
def point(self,value):
if value > 50:
print("You succeeded")
else:
print("You failed")
math = Test()
print(math.point)
math.point=66
>>>0
>>>You succeeded
引数valueにTestクラスのインスタンスであるmath.pointが渡されるまでの過程があまりしっくり来ません。

55:デフォルトの名無しさん
18/05/24 10:13:25.28 xCMwrCN4.net
>>52
@propertyはデコレータ(@)を利用したproperty(fget=直下の関数)が実体のクラス変数です
データデスクリプタプロトコルを実装しており、インスタンス変数が如く扱われると発動します
URLリンク(docs.python.org)
有り体に言えば、同名インスタンス変数への読み書きが、設定した関数に転送されます
math.point = 66は実質type(math).__dict__['point'].__set__(math, 66)として処理され
valueには代入の右辺が直接入るので、インスタンス変数としてのpointは介在できません

56:デフォルトの名無しさん
18/05/24 10:14:05.51 nuo1NuUv.net
>>52
Spyderのデバッガで処理を追っていくと、@point.setterの行に辿り着いた時点で変数エクスプローラーを見ると
valueの値が66になってる
その認識で良いんじゃないの

57:デフォルトの名無しさん
18/05/24 13:19:52.59 rmzZAz1D.net
>>53
>>54
上のコードを
print(math.point)
math.point=66
print(math.point)
で実行したところ、
>>>0
>>>You succeeded
>>>0
と出力されたので、何か理解できたような気がします。少なくとも違和感はなくなりました。
お二方ともご丁寧にありがとうございましたm(__)m

58:デフォルトの名無しさん
18/05/24 17:54:02.74 Dj4hL8GY.net
fizzbuzz書けるぐらいまでになりました
データ分析関係で何かプログラム組みたいと思っているんですけど、何かオススメありますか?

59:デフォルトの名無しさん
18/05/24 18:01:36.95 BrTobgD6.net
やっぱりWindowsよりMacの使ってる方が多いですか?

60:デフォルトの名無しさん
18/05/24 19:15:54.33 gANccVsQ.net
会社でMac使ってるの見たことない

61:
18/05/24 19:16:53.75 dCOL2CYR.net
>>57
私はWindows

62:デフォルトの名無しさん
18/05/24 22:05:44.79 grSZ6JV3.net
win10、python3.6.5を新規でインストールしました。
hello.word!迄は勉強しました。
スクレイピングがしたくてpipで導入しようとしてるんですが上手く行きません、コマンド教えて頂けませんか?

63:デフォルトの名無しさん
18/05/24 23:35:13.23 iQu+wqIP.net
pythonはどうやってインストールしたのでしょうか
スクレイピングは具体的に何のライブラリを使おうとしてるんでしょうか
上手く行かないとは具体的に何が起こる(った)んでしょうか
何か表示されているようなら具体的にかつ正確に教えて貰えますか

64:デフォルトの名無しさん
18/05/24 23:53:23.61 UsIL5vRA.net
ハローワールドからは、かなり遠いよね。イスカンダルに行くほどではないが。

65:デフォルトの名無しさん
18/05/25 00:47:19.29 WeGyxDGv.net
だがよく見てほしい。>>60はハローワールドすらまともに出来ていない。

66:デフォルトの名無しさん
18/05/25 01:11:37.39 2q76hzlV.net
>>62
超ゆとり教育受けた者は自分のいるところからどれぐらいの遠いのか、どれぐらい大変なのか
分からんからな。で、遠くて行くのが大変でもママ(車や交通機関を使って、さらに、おんぶして)連れて行ってだからな。
俺も超ゆとり教育を受けたから、30半ばなのにママ連れて行って・何とかしてのお坊やおっさんだよ,orz
おかげで、いつまでもママママの超初心者

67:デフォルトの名無しさん
18/05/25 01:15:20.22 aAJIJZ6P.net
初心者はPythonの対話型プロンプトからpip実行しようとしてハマることが多いかも
公式PythonならコマンドプロンプトかPowerShellからpip installを実行、
Anacondaなら仮想環境のプロンプトでpip installするか、AnacondaNavigator使って入れればいい

68:デフォルトの名無しさん
18/05/25 01:25:14.20 2q76hzlV.net
>コマンドプロンプトかPowerShell
俺の経験から超ゆとり教育受けた奴は何それだよ

69:デフォルトの名無しさん
18/05/25 01:47:04.69 i9eS1Jst.net
Win10ならコルタナさんに「Power Shellを起動」って頼むだけで良さそうだけど

70:デフォルトの名無しさん
18/05/25 03:57:09.22 JRXZZDGl.net
ユルタナとか尻とか最初に真っ先に殺すわ

71:デフォルトの名無しさん
18/05/25 05:32:29.14 dB974EKc.net
os.rename(dir_path, new_name)
PermissionError: [WinError 5] アクセスが拒否されました。: 'F:\\名前\\古い名前' -> 'F:\\名前\\新しい名前'
Windows7で別のドライブのフォルダをリネームしようとしましたが、
管理者権限でプロンプトから実行しても拒否されます
どうしてでしょうか

72:デフォルトの名無しさん
18/05/25 05:41:28.58 JRXZZDGl.net
remove出来るか試す

73:デフォルトの名無しさん
18/05/25 05:44:51.73 dB974EKc.net
>>70
ありがとうございます
この処理の前にopenでリネーム対象フォルダ内のファイルを開いていたのが原因だったようです
os.renameの前にclose()を呼んだら無事に動きました

74:デフォルトの名無しさん
18/05/25 06:40:26.00 Fc879EHT.net
>>67
時期にコルタナに「XXのスクレイピングして」と頼むだよ。
>>68
俺らよりユルタナとか尻の方がずっと頭良くて、お前、馬鹿・無知すぎだと言われるからな
(お前、自分でPower Shell・コマンドプロンプトの起動すらできないのか)

75:デフォルトの名無しさん
18/05/25 12:57:27.81 LBCdzZtE.net
メンヘラ女はNo Thank You

76:デフォルトの名無しさん
18/05/25 22:01:00.22 J+5J4Zg+.net
python言語によるプログラミングイントロダクションって本初心者にどうですか?

77:デフォルトの名無しさん
18/05/25 22:15:06.28 3AxUm1zl.net
pythonのチュートリアルはよくできてるな。
最新版のPDFファイルどっかに落ちてない?

78:デフォルトの名無しさん
18/05/25 23:59:55.20 q1degsPf.net
>>75
その質問には答えられんが一つ忠告しておく
ここはお前のような出来る奴が居ていい場所じゃない

79:デフォルトの名無しさん
18/05/26 01:03:06.20 tNkrbd5p.net
>>76
だよね。
俺らのようなド底辺にまじわると>>75のような出来る奴でもあっという間にド底辺になるからな。
>どっかに落ちてない? 
もう、底辺らしくなってきているし
>>75
Pythonを使って自分でチュートリアルをPDF変換すれば良いだろう

80:デフォルトの名無しさん
18/05/26 01:14:59.45 q85gb6RE.net
なんか、ひとごとでない感が半端無いんですがw

81:デフォルトの名無しさん
18/05/26 04:05:33.89 LgmduppO.net
流石弟並みの俺ら

82:デフォルトの名無しさん
18/05/26 19:21:59.90 foLPIKFk.net
自分の好きな画像を覚えさてそれに似たような画像を自動で集めてくるみたいなプログラムを作りたいんですが、そのために必要な知識技術が取り入れられる初心者向けの本


83:はありますか?オライリーの入門Pythonを一周した位の初心者なのですが、、



84:デフォルトの名無しさん
18/05/26 20:08:28.91 K60G8etE.net
糞クローラーつくろうとするなksg

85:デフォルトの名無しさん
18/05/26 20:10:05.46 Lty78diJ.net
またスカトロの話してる…

86:デフォルトの名無しさん
18/05/26 22:25:47.66 foLPIKFk.net
>>81
作ったら不味いヤツなんですか?便利そうだなーとか思ったんですが 

87:デフォルトの名無しさん
18/05/26 22:55:59.70 4Cpb9YS7.net
トラフィックが増えてネットが重くなる

88:デフォルトの名無しさん
18/05/26 23:13:43.20 foLPIKFk.net
>>84
そんなにですか
重くなるだろうなとは思ってたので50枚取ったら終わりみたいに軽めの限界は設定しようとしてたんですが甘かったですね
しかし目標が無くなってしまった

89:デフォルトの名無しさん
18/05/26 23:38:34.04 4Cpb9YS7.net
レンタル糞サーバー使ってるサイトの身にもなってくれ

90:デフォルトの名無しさん
18/05/26 23:42:59.64 Lty78diJ.net
>>86
レンタル糞サーバーが糞なのは陸の孤島ならぬネットの孤島やからやぞ
世間のトラフィックの99.9999999999999%はおまえんとこに影響ないからw

91:デフォルトの名無しさん
18/05/27 03:31:42.23 c4nNYBzo.net
>>80
クローラーは、wget を参照
画像判別は、OpenCV とか、
類似の定義のアルゴリズムの研究だけで、軽く数年以上掛かる
どういう画像が似ているのか、その定義が一番難しい

92:デフォルトの名無しさん
18/05/27 11:30:53.46 mgulVE2s.net
たくさんPython野郎が遊び感覚でクローラー作ってネットを重くしているのか
トータルではgoogle以上にあっちこっちのサイトにクレクレしてたりしてな

93:デフォルトの名無しさん
18/05/27 19:20:03.62 hNRd2ZGo.net
scrapyをホストするサービスが存在している時点でその辺は察してくれ

94:デフォルトの名無しさん
18/05/27 22:46:31.42 bmQsi9JQ.net
このようなウンコも存在する模様
URLリンク(data.gunosy.io)
>務教育で教えても良いんじゃないかとよく思うWebクロールとスクレイピング

95:デフォルトの名無しさん
18/05/27 22:47:44.18 bmQsi9JQ.net
例題に自社サービスを使ってるところだけは評価

96:デフォルトの名無しさん
18/05/27 23:49:42.39 5wdFvZhW.net
スレ違いだったらごめんなさい
自然言語処理をweb等を見様見真似で勉強してます
その中で共起ネットワーク図というものを見かけて面白そうだったのでやってみたいのですが、まだスクレイピングなどはやった事がないのでまずは青空文庫等のテキストデータを使って共起関係にある単語を表示してみたいと思っています
形態素解析するところまで出来たのですがその先の部分はサンプルなどを見つけられなくて行き詰まっています…
使うべきモジュールなども分からない状態なのですが、どのようにして共起している単語の抽出が行えるでしょうか?
初歩的な質問で申し訳ないのですがよろしくお願いします

97:デフォルトの名無しさん
18/05/28 01:04:32.12 wVRqLEBr.net
オライリーの本を買えばすぐわかるよ!

98:デフォルトの名無しさん
18/05/28 04:26:40.64 wNw5dm7C.net
さすがにこれは本読んでほしいね

99:デフォルトの名無しさん
18/05/28 04:44:28.44 XVTHXgQc.net
>>93
出現単語リストの直積のリストを作る
要素ごとにjaccard係数(*1)を求める
必要に応じてjaccard係数で足切り
グラフ描画ライブラリ(*2)で描画
*1
jaccard係数について
URLリンク(www.slideshare.net)
*2
NetworkXとか
大したことは言っていないので、
分からないなら潔く筋トレ(Pythonの)をしてから出直した方がいいと思います
命が掛かっているなら金次第で相談に乗ります

100:デフォルトの名無しさん
18/05/28 07:39:17.97 OuhpSUOS.net
>>93 です
>>94
>>95
ありがとうございます
やはり基本的な知識なのですね
今日帰宅時に本屋さん寄ってみます
>>96
ありがとうございます
何から手をつけて良いのか分からなかったので流れを教えて頂けてすごく嬉しいです
まずは”出現単語リストの直積のリスト”の部分について調べてみます
周りに聞ける人が誰も居ないのでお金を払ってでも…と毎日思います…

101:デフォルトの名無しさん
18/05/28 09:00:41.36 37+FCx2t.net
pyautoguiを使ってるんですが、日本語キーボードの無変換キーを入力する方法ってないですか?

102:デフォルトの名無しさん
18/05/28 09:08:11.00 37+FCx2t.net
事故解決しました nonconvertですね

103:デフォルトの名無しさん
18/05/28 12:18:42.73 QrMrtBKb.net
>>96
重ねて質問してすいません
出現単語リストの直積リストを作る
という部分はitertoolsを使って作る事が出来ました
次の要素毎にjaccard係数を求める部分についてなのですが引数として2つのリストを与える必要があるのかなと思うのですが、この時引数とするリストは直積リストともうひとつは何に当たるのでしょうか?
形態素解析したリストになるのでしょうか?
せっかく流れを示して頂いたのにすいません
基本的な考え方も分からないんだと痛感します…

104:デフォルトの名無しさん
18/05/28 17:58:55.76 ou7O8CU4.net
pythonの本増えすぎじゃね?

105:デフォルトの名無しさん
18/05/28 18:30:53.73 wVRqLEBr.net
やんたの?

106:デフォルトの名無しさん
18/05/28 18:40:42.01 vdxePaRv.net
プログラミング全くの未経験で手を出してしまった…どうしよう

107:デフォルトの名無しさん
18/05/28 19:28:13.46 wVRqLEBr.net
そっと、手を引っ込めれば、大丈夫 ;)

108:デフォルトの名無しさん
18/05/29 01:32:19.33 Xb0sm+Zw.net
ダメ、自首しなさい

109:デフォルトの名無しさん
18/05/29 08:25:22.63 BwhXSTip.net
本増えるのはいいけど入門書はいらん
もっと突っ込んだ内容のやつが増えて欲しい

110:デフォルトの名無しさん
18/05/29 11:15:10.14 OeR4MtJu.net
すごく、、、詳しいです。。

111:デフォルトの名無しさん
18/05/29 17:00:13.32 OdQFw6jJ.net
numpyの配列の形を変えるにはどうしたらいいですか?
motoというshapeが(3,5)の配列があったとして
array([[1., 2., 3., 4., 5.],
[6., 7., 8., 9., 10.],
[11., 12., 13., 14., 15.]], dtype=float32)
この配列を以下のようなshape(3,5,1)の配列にしたいです
array([[[1., 2., 3., 4., 5.]],
[[6., 7., 8., 9., 10.]],
[[11., 12., 13., 14., 15.]]], dtype=float32)
配列をコピーする用に配列をつくってはみたものの
ここにどうやって形の違う配列をコピーすればいいのか分からないです
zr = np.zeros((3,5,1)).astype("i")
宜しくお願いします

112:デフォルトの名無しさん
18/05/29 17:46:23.55 QKhV4oKb.net
それだと 1,3,5 じゃないのか

113:デフォルトの名無しさん
18/05/29 17:49:10.44 QKhV4oKb.net
やりたいことが何か判らんが
>>> import numpy as np
>>> a = np.array([[1., 2., 3., 4., 5.],
... [6., 7., 8., 9., 10.],
... [11., 12., 13., 14., 15.]], dtype='float32')
>>> b = np.array([a])
>>> c = a.reshape(3,5,1)
>>> a.shape
(3, 5)
>>> b.shape
(1, 3, 5)
>>> c.shape
(3, 5, 1)

114:108
18/05/29 18:00:06.08 OdQFw6jJ.net
>>110
ありがとうございます
ほげー、一行で出来るんですね・・・
まさかforで回すわけでもないしと悩んでました
numpyでグレースケールで採り込んだら
RGBのカラーの時の値が入ってた枠が無くなってしまって
ほげほげしてたところでした・・・助かりました。

115:デフォルトの名無しさん
18/05/29 22:16:06.70 iRdPA+i/.net
ipythonでインデント(ブロック)の終了ってどーやんの?っと

116:デフォルトの名無しさん
18/05/30 00:11:49.14 6Ga5VGJ6.net
>>112
エンター押しまくる

117:デフォルトの名無しさん
18/06/01 14:32:40.20 g56dgDhl.net
docstringを使おうとしたらエラーが起きた
"""ほにゃらら"""
の形式で書いたんだけど、無情にも
SyntaxError: (unicode error) 'utf-8' codec can't decode byte 0x83 in position 1: invalid start byte
と返された。誰か助けて

118:デフォルトの名無しさん
18/06/01 17:19:10.73 UBye49NJ.net
ファイルのエンコーディング確認

119:デフォルトの名無しさん
18/06/01 18:08:04.05 Wbxpqrec.net
coding: hogehoge

120:デフォルトの名無しさん
18/06/01 20:50:43.65 g56dgDhl.net
なるほど、教えてもらったキーワードでググって
なんとなく理屈が見えたきた
ありがとう

121:デフォルトの名無しさん
18/06/02 10:41:21.53 hlsM3qEn.net
x = [0, 1, 2] みたいなリストを並び替えると
1番目 [0, 1, 2]
2番目 [0, 2, 1]
3番目 [1, 0, 2]
4番目 [1, 2, 0]
5番目 [2, 0, 1]
6番目 [2, 1, 0]
となるけど単純に f(x,3) -> [1, 0, 2] みたいに呼び出す方法ありますか

122:デフォルトの名無しさん
18/06/02 11:47:22.91 Mn+2M+g0.net
>118
itertools で全部列挙しておいてから、m番目を返すコード。
リストxの長さを n とすると、O(n!)の計算量になるので、nが小さい値でしか使えない。
また、メモ化してるので、x にいろいろなのがくるとメモリが足りなくなる。
memo = dict()
def f(x, m):
x = tuple(x)
if x not in memo:
memo[x] = list(itertools.permutations(x))
return memo[x][m]
桁DPの要領でm番目を直接求めるアルゴリズムもあるとは思う。

123:デフォルトの名無しさん
18/06/02 12:01:42.03 Mn+2M+g0.net
>119
下記にコードがあった。
最初のコードは間違っていて、後ろの方に出てくるのが正しいらしい。
計算量は、リストの長さをnとして、O(n^2)
URLリンク(code.activestate.com)

124:デフォルトの名無しさん
18/06/02 14:05:36.42 yUEJ+BJS.net
>リストを並び替えると
>...略...
>となるけど
なんで確定してんの?

125:デフォルトの名無しさん
18/06/02 14:58:37.23 Mn+2M+g0.net
辞書順でって書いて欲しいよね

126:デフォルトの名無しさん
18/06/02 15:04:41.70 dZS8JdkF.net
でっていうw

127:デフォルトの名無しさん
18/06/02 15:13:34.52 yUEJ+BJS.net
並び順次第でもっと高速アルゴリズムあるだろ

128:デフォルトの名無しさん
18/06/02 15:15:45.21 yUEJ+BJS.net
あと要素に重複許すか許さないかも決めろ

129:デフォルトの名無しさん
18/06/03 00:38:10.83 XOBHiyXi.net
なんでもかんでも他人が決めてくれると思うなよ

130:デフォルトの名無しさん
18/06/03 16:48:41.00 YC/G71rw.net
print("test")

131:デフォルトの名無しさん
18/06/03 20:21:55.32 bfa47pyD.net
でかいカタツムリが頭から離れない

132:デフォルトの名無しさん
18/06/04 01:25:24.68 PSQxbIpD.net
Numpy(またはリスト)で
HOGE =
[[AB], [CD], [0]
[AB], [CD], [0]
[AB], [CD], [0]]
AB:A~Bの範囲で乱数
CD:C~Dの範囲で乱数

のような形で2重配列を生成する方法有りませんか?
出来ればnumpyの関数を使うなりで高速に処理したいです

133:デフォルトの名無しさん
18/06/04 03:05:03.63 kbH5Vpqw.net
,足りないからsytax error

134:デフォルトの名無しさん
18/06/04 03:37:22.59 /gUisM+Q.net
>>129です
np.array([np.random.rand(1000) * 40 + 30, np.random.rand(1000) * 150 + 50, np.zeros(1000)])
としたら望んだ動作をさせることが出来ました
これが正攻法ですかね?

135:デフォルトの名無しさん
18/06/04 12:05:28.08 JjmaaBf+.net
リストでa=[[]]の状態から
a=[[1、1、1]、[2、2、2]、[3、3、3]]の状態にしたいんだけど
a[1].append(2)とするとindex out of rangeになる。
どうすればよかったの?

136:デフォルトの名無しさん
18/06/04 13:01:34.66 idJqzVHE.net
何で分からないのか全く分からないが
最初にa.append([])すればいい

137:デフォルトの名無しさん
18/06/04 13:10:05.65 gu22rR49.net
多分indexが1から始まると思ってるんでしょう。

138:デフォルトの名無しさん
18/06/04 16:10:44.39 vxffLJZ1.net
This is append.

139:デフォルトの名無しさん
18/06/04 19:35:46.16 XnHANXyJ.net
Pythonってオブジェクト指向なの?
クラスあるだけ?

140:デフォルトの名無しさん
18/06/04 20:11:09.05 gjT3Zats.net
pythonでは全てがオブジェクトだよ

141:デフォルトの名無しさん
18/06/04 23:54:


142:57.47 ID:V9/EtLY4.net



143:デフォルトの名無しさん
18/06/05 00:11:16.44 2Xl5RiK7.net
椎名林檎と金慶珠

144:デフォルトの名無しさん
18/06/05 02:02:26.17 LvfHSQTn.net
プロントと言えばパスタでしょ

145:デフォルトの名無しさん
18/06/05 07:12:27.46 vNq9k7GF.net
タリーズのパスタセットのほうが好き

146:デフォルトの名無しさん
18/06/05 08:25:09.33 mf3VSMyj.net
昼間っからプロントの外席で酔っぱらえる暮らしがしたーい

147:デフォルトの名無しさん
18/06/05 08:26:51.27 lzn810vN.net
>138
a = input()
をプログラムの最終行に追加して、ユーザーからの入力待ちにしたら、コマンドプロンプトが閉じずに開いたままになると思うよ。

148:デフォルトの名無しさん
18/06/05 09:18:02.25 ALr8nSGL.net
でもコマンドプロントは閉じちゃうんでしょ?

149:デフォルトの名無しさん
18/06/05 12:20:58.47 5wSar7or.net
>>143
ヤッマーマンコーヒーライター

150:デフォルトの名無しさん
18/06/05 13:30:42.56 YM6WlMJz.net
おまんこポロンと

151:138
18/06/05 15:33:40.43 6QaUpT89.net
>>143
ありがとうございます。出来ました。

152:デフォルトの名無しさん
18/06/05 21:35:53.64 Z1nEut3E.net
すみません、どなたか教えてください。
requestsでデータを取得したいのですが、一回目のget()は成功するのに、2回目以降が失敗してしまいます。どうしたらいいでしょうか?
ソースコード → URLリンク(pastebin.com)

153:デフォルトの名無しさん
18/06/05 21:58:12.58 HKweH0GP.net
>>148
あんま見てないけどjson.loadsにリスト渡せれたっけ?

154:デフォルトの名無しさん
18/06/05 23:12:10.76 4Q7TkxG/.net
失敗する時のurlは確かに自分が想定しているものか?
失敗する時のエラーコードはいくつ?
curlを打っても同じか?

155:デフォルトの名無しさん
18/06/06 00:05:28.07 cQ8rOQ34.net
>>150
URLはチェックしたつもりでしたが、完全に見落としていたようです。
ホスト名がおかしくなってたのが原因でした。恥ずかしい・・・
お騒がせしまして誠に申し訳ありませんでした。

156:デフォルトの名無しさん
18/06/06 02:19:30.77 GFJOl7V+.net
遊園地とデートしたい

157:デフォルトの名無しさん
18/06/06 08:19:21.14 KWo7wxdh.net
大人の遊園地

158:デフォルトの名無しさん
18/06/06 11:57:29.64 I9hgDbEz.net
次の質問は cookiejar

159:デフォルトの名無しさん
18/06/07 12:28:21.12 c1Bi/jYJ.net
jupyterlabってjupyternotebookの上位互換でいいの?

160:デフォルトの名無しさん
18/06/07 12:30:46.46 4mIWw2z0.net
かぶせてるんじゃないの

161:デフォルトの名無しさん
18/06/07 16:09:29.19 w0N4AyGA.net
僕はかぶってないです

162:デフォルトの名無しさん
18/06/08 00:07:27.05 /ZKULDsJ.net
どうせおしっこしか使い道のないちんちんなんだからそんなに気にすんな

163:デフォルトの名無しさん
18/06/08 08:19:51.76 /bqVuVHr.net
かぶきあげ

164:デフォルトの名無しさん
18/06/08 09:15:17.84 lmxa68Ln.net
pythonで開発してるんだけど
'ascii' codec can't encode characters in position 10-14: ordinal not in range(128)
が出るんだけど文字コードがおかしいから?
日本語が含まれているファイルをアップロードするとことで出てるんだけど。
_aaa = '会社一覧.txt'
_aaa.encode('utf-8')
とかしてもダメで困ってます。

165:デフォルトの名無しさん
18/06/08 09:21:21.43 /RmWgxMJ.net
しらんがな

166:デフォルトの名無しさん
18/06/08 09:28:53.74 45o5Ogqr.net
>>160
2系使うな
3系使え

167:160
18/06/08 09:34:49.45 lmxa68Ln.net
Python3.6です。
サーバはcentos7です。

168:デフォルトの名無しさん
18/06/08 09:46:33.00 bb8JjxXT.net
そうなんだ

169:デフォルトの名無しさん
18/06/08 09:51:32.35 45o5Ogqr.net
じゃあファイルのエンコードがおかしいんだろ

170:160
18/06/08 09:54:31.46 lmxa68Ln.net
ファイル名を英数字のみにしたら問題なくアップロードできるんです。

171:デフォルトの名無しさん
18/06/08 09:56:14.12 bb8JjxXT.net
そうなんだ

172:デフォルトの名無しさん
18/06/08 10:21:53.19 45o5Ogqr.net
>>166
じゃあそれで回避しる

173:デフォルトの名無しさん
18/06/08 11:00:54.58 kYrAgZlc.net
教えてください。
クラスを作って、それにデータを入れてって、
それをList配列にセットしていったら全部同じ内容になってしまいます。
調べてみたら参照になっているらしく、実態がひとつしかない?という
ことらしいのですけど、内容の異なるクラスをListに
保持するということはできないんでしょうか?

174:デフォルトの名無しさん
18/06/08 11:41:11.12 ZKjoqXzv.net
言葉じゃなくてコードを貼れ

175:デフォルトの名無しさん
18/06/08 12:44:14.84 dTeFfRCY.net
C/C++ 以外の言語は、オブジェクトの中身がコピーされない。
オブジェクトの参照しかコピーされないから、参照は同一の実体を指す
中身までコピーしたいのなら、clone, deep copy みたいなメソッドを使って、
内側のオブジェクトまで、再帰的にコピーしていかなければならない
もし中身が参照だったら、その実体もコピーしなければならない

176:デフォルトの名無しさん
18/06/08 15:52:16.84 flVgGL8G.net
>>158
しこしこすると、気持ちいいぞ
やってみ

177:デフォルトの名無しさん
18/06/08 17:36:57.31 2zroGubc.net
158じゃないけど、やってみた。
痛くて全然気持ちよくない。

178:デフォルトの名無しさん
18/06/08 17:56:20.67 4DM+q81K.net
[Hoge(n) for n in range(10)]

179:デフォルトの名無しさん
18/06/08 19:27:23.91 MM/7eySM.net
>>173
それは真性だから病院へGo!

180:デフォルトの名無しさん
18/06/08 23:52:16.42 /ZKULDsJ.net
>>172
セフレがペロペロしてくれるずる剥け野郎で悪かったな

181:デフォルトの名無しさん
18/06/09 17:37:21.10 Rjsi/POz.net
独学プログラマーという本でpython勉強してるけど。ディープラーニングやるなら、統計学とか数学知識もだいぶ要求されるんですね。ディープラーニングなんて言葉もさっき知ったばかりだけど、目的もなくプログラミング勉強して仕方ないよね。
お前らはなんの目的をもって、python勉強してるん?

182:デフォルトの名無しさん
18/06/09 17:42:01.07 a58WBe6r.net
欲望を満たすため

183:デフォルトの名無しさん
18/06/09 17:53:36.86 AIOFAY9W.net
乗るしか無い
このビッグウェーブに

184:デフォルトの名無しさん
18/06/09 18:11:28.86 Rjsi/POz.net
俺以外にも波乗り人がいて安心した
仕事は大工で転職したい訳でもないけど、ローテクの仕事してる人間として。プログラミングに憧れがあったんだよねー。

185:デフォルトの名無しさん
18/06/09 18:13:00.38 VrCE6n6G.net
エロ画像収集にしか使ってないから偉そうなことは言わない

186:デフォルトの名無しさん
18/06/09 18:48:15.65 Jnz70VEo.net
プログラミングできる大工とかかっこよすぎなので禁止します!

187:デフォルトの名無しさん
18/06/09 21:25:28.42 dWoOad5I.net
WEB+DB PRESS vol.104、1,480円 + 税
Python, Unity 特集

188:デフォルトの名無しさん
18/06/10 10:40:36.55 mYiZBk29.net
import numpy as np
import matplotlib.pyplot as plt
import sympy
theta0 = sympy.Symbol('theta0')
theta1 = sympy.Symbol('theta1')
x_data = np.array([383530, 456474, 533496, 551308, 588788 ]).astype("float32")
y_data = np.array([22064192, 25691911, 27234521, 28403118, 27597193 ]).astype("float32")



189:def f(x): return theta0 * x + theta1 error = np.sum((f(x_data) - y_data) ** 2) diff0 = sympy.diff(error, theta0) diff1 = sympy.diff(error, theta1) theta0, theta1 = sympy.solve([diff0, diff1], [theta0, theta1]) print(theta0, theta1) 質問です。 簡単な線形回帰の問題を数学的に解きたいのですがtheta0とtheta1の出力がtheta0,theta1 になってしまいます。 どこが間違ってるのでしょうか?



190:デフォルトの名無しさん
18/06/10 10:47:08.17 mYiZBk29.net
自己解決しました
戻り値が辞書型なようです
すいません

191:デフォルトの名無しさん
18/06/10 15:51:44.31 cIF/Pitw.net
ナムパイ より  オッパイ が  すぅき~~~~ぃ!

192:デフォルトの名無しさん
18/06/11 10:35:45.86 tK3aH3wF.net
>>183
立ち読みしたけど
このスレ見てるひとには物足りないと思うよ

193:デフォルトの名無しさん
18/06/12 15:02:09.09 T8vrMQ/8.net
>>187
このスレ超初心者用じゃないの?

194:デフォルトの名無しさん
18/06/12 18:45:39.13 1JN678Ut.net
一部のwebサイトのソースで日本語が \u0000 みたいな形式になってることがあるんですけど
これを普通の日本語として表示させるにはどうすればいいですか?

195:デフォルトの名無しさん
18/06/12 19:17:17.65 2L+m/FfH.net
そのままconsole.logにぶっ込めばいいよ。
console.log('\u6584')
=> 斄

196:デフォルトの名無しさん
18/06/12 20:19:54.95 1JN678Ut.net
すいません質問の仕方が悪かったです
IDLEに対して"\u6587\u7ae0"と入力すると
"文章"と表示されるのはわかっているのですが
\u6587\u7ae0 という文字を含むファイルを読み込んでも
"\\u6587\\u7ae0" と表示されるだけなので
これをなんとかして"文章"に変換してスクリプト内で自由に扱えるようにしたい
ということです
あと環境はWin10 Python3.6.0です

197:デフォルトの名無しさん
18/06/12 21:40:04.31 YVMRGW8t.net
codecs.decode(foo, 'unicode-escape')

198:デフォルトの名無しさん
18/06/12 22:06:43.72 1JN678Ut.net
>>192
できました。ありがとうございます

199:デフォルトの名無しさん
18/06/15 07:13:57.77 3m9PjRhE.net
スパイダーにパイゲーム入れたらスパイダーの実行ファイルが2つになった
spider.exeとspider(pygame).exeだ
これ普通なの?
追加するたびにexeが増えるとかおかしくない?

200:デフォルトの名無しさん
18/06/15 08:40:06.77 Rb3jCNU/.net
>>192
質問者じゃなかったけどちょうちょうちょうたすかった
すばらしい!!! (・∀・) ありがとう!!!

201:デフォルトの名無しさん
18/06/15 15:54:26.09 kuxGvV0N.net
cloud9で開発を始めましたが、自作関数のインポートでなぜかIDEに怒られます。
具体的には以下のコードで、main.pyの3行目[from my_lib import mlib]の左に
赤いバツ印が付いて’No name 'mlib’ in module 'my_lib'と表示されます。
ただ、そのまま実行すると特にエラーも出ず、mlib.○○でmy_lib.py内に記述した
関数も問題なく使えてますが。。。どこがおかしいのでしょうか?
<main.py>
#!/usr/bin/env python3
# coding: utf-8
import json
from pprint import pprint
import time,datetime
import sys
sys.path.append("/home/ec2-user/environment/my_lib")
from my_lib import mlib (←怒られる)
mlib = mlib()

202:196
18/06/15 15:57:05.36 kuxGvV0N.net
上の続きです。
<my_lib.py>
#!/usr/bin/env python3
# coding: utf-8
import math
from decimal import *
import sys, traceback, time, datetime, csv
import requests, json, urllib
from pprint import pprint
class mlib:
  def __init__(self):
    self.output_path = "/home/ec2-user/environment/my_output/"
  def aaa(self,〇〇〇)
    〇○○〇~

203:196
18/06/15 16:01:26.91 kuxGvV0N.net
すいません、文章に誤りあり、×がつくのはmain.pyの3行目ではなく、
下から2行目です。
誤:
main.pyの3行目[from my_lib import mlib]の左に
赤いバツ印が付いて’No name 'mlib’ in module 'my_lib'と表示されます。
正:
main.pyの下から2行目[from my_lib import mlib]の左に
赤いバツ印が付いて’No name 'mlib’ in module 'my_lib'と表示されます。

204:デフォルトの名無しさん
18/06/15 16:11:23.50 OdSPYtBq.net
質問の仕方がおかしい

205:デフォルトの名無しさん
18/06/15 22:04:53.01 ymZBnmIf.net
「python module import」で検索!
URLリンク(docs.python.jp)
>import mlib
よく知らないけど、import の後ろにクラス名は、書けないのかも?

206:デフォルトの名無しさん
18/06/17 01:57:26.74 TBo37eTh3
anaconda環境でtensorflowを導入しようとすると以下のエラーが出ます
distributed 1.21.8 requires msgpack, which is not installed.

しかしconda install msgpackを実行すると
UnsatisfiableError: The following specifications were found to be in conflict:
  - msgpack -> python=2.7
  - python=3
Use "conda info <package>" to see the dependencies for each package.

となっており、依存関係がPython2.xに紐付いているらしく修正方法がわかりません
conda info msgpackを見てみると以下のようにでます。
msgpack 0.2.3 py27_0
--------------------
file name   : msgpack-0.2.3-py27_0.tar.bz2
name        : msgpack
version     : 0.2.3
build string: py27_0
build number: 0
channel     : URLリンク(repo.anaconda.com)
size        : 100 KB
arch        : x86_64
constrains  : ()
date        : 2012-12-19
license_family: Other
md5         : 2cb3af35f8664b9ed373290ee058eafc
platform    : linux
subdir      : linux-64
url         : URLリンク(repo.anaconda.com)
dependencies:
    python 2.7*

207:デフォルトの名無しさん
18/06/16 12:00:24.81 Qzlh17q8.net
>>196
肝心のmain.pyとmy_lib.pyの置き場所は?
それと /home/ec2-user/environment/my_lib ディレクトリ以下の構成は?

208:196
18/06/16 13:02:52.35 J0XQYDu0.net
>>202
各ファイルの置き場所は以下になります。
/home/ec2-user/environment/main.py
/home/ec2-user/environment/my_lib/my_lib.py

209:デフォルトの名無しさん
18/06/16 14:39:50.44 Qzlh17q8.net
IDEが動的path追加を認識できないアホなだけなんじゃなかろうか
諦めて無視するしかない

210:196
18/06/16 19:19:04.31 4DPY/ACT.net
>204
そうなのかもしれません。
main.pyと同じ階層にmy_lib.py置くと警告出ません。

211:デフォルトの名無しさん
18/06/16 21:30:29.14 V0Z3yofC.net
Ruby みたいに、そのファイルから見て、相対パスで指定できる、
require 相対パスのような書き方は無いの?
require_relative 'my_lib/my_lib.py'

212:デフォルトの名無しさん
18/06/16 21:35:07.29 V0Z3yofC.net
【Python入門】パッケージの作り方と色々なimportの方法
URLリンク(www.sejuku.net)
__init__.pyに、importしておきたいファイルを、相対パスを使って書く

213:デフォルトの名無しさん
18/06/16 21:35:07.95 xo8+58G0.net
仕返しにRubyスレ荒らそうぜ!
Ruby 初心者スレッド Part 63
スレリンク(tech板)

214:デフォルトの名無しさん
18/06/16 22:44:20.42 gqmCF5e7.net
>>208
あのアスペはRubyスレでも人工無脳扱いなので勘弁して欲しい

215:デフォルトの名無しさん
18/06/17 09:30:54.55 89kw/R7U.net
Cに挫折してPythonに来たけど、PythonをやってみるとCが難しい理由がよくわかる
Cにはリスト・辞書など実用的なプログラミングに必須のデータ構造がなく、
それに相当する構造を自前で実現しようとするとメモリイメージを理解したうえで
ポインタを駆使する必要がある
一般人は肝心のロジックを書く前に、データ構造の構築と操作でギブアップしてしまう

何が言いたいかというと、Pythonを作ってくれてGuidoさんありがとう
こんな私でも正規表現を使って業務データを望みの形に加工するくらいできるようになりました

216:デフォルトの名無しさん
18/06/17 12:08:47.33 0n282sb+.net
subprocess.runを使ってwgetにファイルをDLさせたいんですけど
URLに&が含まれているとエラーになってしまいます
あとfor文でURLに連番を付加したときもエラーが出ました
どう対処すればいいですか?

217:デフォルトの名無しさん
18/06/17 13:58:33.95 a0y5ZZCH.net
初心者ですが
anacondaでF5で実行後IPythonコンソールにプロンプト(フォーカス?)を
自動で移動したいのですが方法設定はないでしょうか。
input()で入力を求められるところでいつも誤ってプログラムの書き換えをしてしまいます。

218:パイソン初心者
18/06/17 22:36:30.93 lidrzVPC.net
目当てのサイトから必要な情報を抜き出し、csvに保存するところまではできたのですが、実際にやりたいことまで知恵が及ばず、こちらで質問することにしました。
現在のコード(sample.py)
─────
import requests, bs4
import csv
import requests, bs4
res = requests.get('URLリンク(news.yahoo.co.jp)')
res.raise_for_status()
soup = bs4.BeautifulSoup(res.text, "html.parser")
elems = soup.select('h2')
for elem in elems:
print(elem)
with open('news.csv', 'w', encoding='CP932', errors='ignore') as f:
writer = csv.writer(f)
writer.writerows(elems)
─────
※URLとh2に関しては質問用です。

219:212
18/06/17 22:37:08.00 lidrzVPC.net
>>213 続き
上記コードで1つのURLの"h2"が取得でき、"news.csv”に保存ができています。
でも本当は、情報を取得したいURLが大量あるのです。
URLは違うけど、同じサイトの中で、hmtlの骨組みが同じなので、アクセスするURLさえ変えることができれば他はそのままでいいです。
そこで、「URLがリスト化されたファイル"urllist.txt"の内容を読み込んで、一行目のURLから順々にアクセスして"h2"を取得し、csvに書き込んで保存するコード」というイメージでコーディングしたいと思っています。
※urllist.txtの内容
URLリンク(news.yahoo.co.jp)
URLリンク(news.yahoo.co.jp)
URLリンク(news.yahoo.co.jp)
"requests.get"で指定するURLを別のファイルから読み込んで指定する方法、同じ


220:処理を繰り返す方法、などで調べたのですが、必要な回答に辿り着くことができませんでした。 正解例がわかる方、どなたかお願いしますm(__)m ※urllist.txtはテキストファイルじゃなくてもいいです。



221:デフォルトの名無しさん
18/06/17 23:47:02.24 zwR/a8LX.net
まずファイルを読み込んで一行ずつ使用する方法と
関数を定義して処理を再利用する方法を覚えたら
URLリンク(docs.python.jp)
URLリンク(docs.python.jp)
つーかその辺が分からずにそこまで行ったのはある意味凄いね

222:パイソン初心者
18/06/18 00:08:19.75 QaoNGVd4.net
>>215
ありがとう。頑張ります。

223:デフォルトの名無しさん
18/06/18 00:21:43.97 CeTul5Qc.net
3つのコードしか知らないのに優れた楽曲をつくるやつもいるからな

224:パイソン初心者
18/06/18 00:38:30.76 QaoNGVd4.net
pythonは今日勉強を始めたばかりです。
プログラム自体が初めてですが、楽しいですね。
とても好きになりました。
解決したらまた書き込みにきますm(_ _)m

225:デフォルトの名無しさん
18/06/18 07:48:32.99 icV/mWqE.net
3つのコードでGoogleアシスタント作りました。

226:210
18/06/18 08:53:40.84 sS1CU9Ao.net
自己解決しました
URLに&が含まれているとエラーになる件は&を^&に置換して渡せばよかったようです
URLに連番を付加する件は単純に関数の作り方が間違っていました

227:デフォルトの名無しさん
18/06/18 15:22:22.29 5N4LUYzZ.net
スクレイピングでろくなサイトがないから、ためしに本買ったらわかりやすくて最高ー
当たり前だけど本重要だな

228:デフォルトの名無しさん
18/06/18 16:32:39.69 c5Ieze8t.net
その本の名前をを書けよ無能

229:デフォルトの名無しさん
18/06/18 17:28:21.58 81MK0a/A.net
>>220
解決してよかったぬ

230:デフォルトの名無しさん
18/06/18 20:00:42.72 NEyGx0zg.net
Rubyによるクローラー開発技法 巡回・解析機能の実装と21の運用例、
佐々木拓郎・るびきち、2014
よく知らないけど、Python なら、なでしこの作者、クジラ飛行机の本か?
そう言えば、巨匠がフレームワークの本を出したよ。
先に、無料のRails チュートリアルをやった方が良いと思うけど
Python Django 超入門、掌田津耶乃、2018

231:デフォルトの名無しさん
18/06/18 20:24:00.31 PCvROOcF.net
発達障害はチンパンジーアイちゃんと小粋なトークしてろ

232:デフォルトの名無しさん
18/06/18 21:41:23.20 ltR7ddTW.net
ruby信者ホント気持ち悪い

233:212
18/06/18 22:34:36.18 QaoNGVd4.net
解決しました。引き続き精進します。

234:デフォルトの名無しさん
18/06/19 04:23:54.29 6x0qbtHZ.net
スクレイピングする時に、
デフォルトのモジュールのみで、パースも正規表現駆使して拾いながら
手続きの流れのままにズラズラと構成しちゃダメかい?

235:デフォルトの名無しさん
18/06/19 05:01:01.25 0nk/xPMo.net
<1><2></2></1>
正規表現は、木構造に対応できない。
<1>と</2>が、マッチしてしまう
jQuery, Ruby のNokogiri では、CSS セレクターを使う。
XPath よりも良い

236:デフォルトの名無しさん
18/06/19 05:59:30.68 6x0qbtHZ.net
前後の文字列で肝心のデータ部分を特定・取得できさえすればいい場合は、
正規表現でもそんなには困らないんだけどね。

237:デフォルトの名無しさん
18/06/19 09:16:28.04 a6uoRFLw.net
今時だれがrubyなんて使ってんだ?
PythonとBeautiful Soupでやるだろ。
本屋でもこの組み合わせばかり。
nokogiri?どころかruby自体の本すらない。

238:デフォルトの名無しさん
18/06/19 09:57:15.89 bbVl/Mhd.net
seleniumでchromeのヘッドレスでダウンロードしたいんだけどどうしたらいいの?

239:デフォルトの名無しさん
18/06/19 10:38:55.09 HcfbauBL.net
>>232
ヘッドレス起動の仕方は↓とか嫁
URLリンク(qiita.com)
ダウンロードはzipファイルなら↓あたりを参考に
URLリンク(toolsqa.com)

240:デフォルトの名無しさん
18/06/19 10:41:50.97 HcfbauBL.net
>>233追記
Cからの書き換えなんていやだ!というなら↓とかみれ
URLリンク(a-zumi.net)


241:isk/ tps://qiita.com/py_maro/items/6e79e4049677cf43c398



242:デフォルトの名無しさん
18/06/19 10:57:31.22 CdRPQvnG.net
>>234
ありがとう
見てみます

243:デフォルトの名無しさん
18/06/19 11:14:22.26 CdRPQvnG.net
>>234
すみません普通にならダウンロードはできてるんだけど
ヘッドレスモードにするとダウンロードできなくなるんです

244:デフォルトの名無しさん
18/06/19 12:24:26.47 dYMcqEpR.net
ほなヘッドフルでええやん
細かいことは気にすんな

245:デフォルトの名無しさん
18/06/19 19:56:07.63 HoCrEKEA.net
PythonのIDLEの画面をクリアすることってできますか?

246:デフォルトの名無しさん
18/06/19 20:02:06.90 q/YRP9sv.net
>>238
ctrl + Lでできる

247:デフォルトの名無しさん
18/06/19 23:18:57.08 0nk/xPMo.net
Ruby では、--headless オプション
options = Selenium::WebDriver::Chrome::Options.new
options.add_argument('--headless')
driver = Selenium::WebDriver.for(:chrome, options: options)
driver.navigate.to "ここにURL"

248:デフォルトの名無しさん
18/06/20 00:14:42.51 roLNtd78.net
>>240
python2でもpython3でも動きませんでした。
他の方お願いします

249:デフォルトの名無しさん
18/06/20 07:19:49.66 pPwORwNI.net
>>210
俺と同じ感想の人が居てた、python大好き

250:デフォルトの名無しさん
18/06/20 08:12:14.73 pNRxkBp/.net
やりたいことに集中できるのがPythonの良さなのは同意するけど、便利な既製のデータ構造なんか他の言語にもだいたい用意されてるだろ
Pythonは文法がシンプルで記述の自由度が低く、変な例外的な仕様も少ないから、
どの書き方が美しいかなどというくだらないことをあまり考えなくていいんだよ
その結果、やりたいことに集中できる

251:デフォルトの名無しさん
18/06/20 09:59:20.08 /3yawfqw.net
C++にもベクターっていう超便利さんが居るじゃん

252:デフォルトの名無しさん
18/06/20 12:35:53.89 XX+H87IB.net
1円硬貨: 8 枚
5円硬貨: 3 枚
10円硬貨: 2 枚
50円硬貨: 2 枚
100円硬貨: 3 枚
↑の硬貨のセットを持っているとする。
これらの硬貨を使って支払える金額のうち、その支払いに使える硬貨の組合せが
一通りしかないものの数を求めよ。

これを計算するためのプログラムを作ったのですが、正しい答えが出ません。
どこが間違っているのでしょうか?
URLリンク(codepad.org)

253:デフォルトの名無しさん
18/06/20 12:38:16.91 XX+H87IB.net
>>245
URLリンク(codepad.org)
コードは↑こっちを見てください。

254:デフォルトの名無しさん
18/06/20 15:34:20.79 OnxnZInx.net
>>244
Cの話してるところにC++の話題持ち込むと混乱するからやめて

255:デフォルトの名無しさん
18/06/20 16:04:05.44 pwTbHfBQ.net
プログラミング全くの初心者なのですが、beautiful soupというのを学ぶのに一番適している本やWebサイトってどれでしょうか?

256:デフォルトの名無しさん
18/06/20 16:29:37.34 OnxnZInx.net
ここで聞くのが早い

257:デフォルトの名無しさん
18/06/20 18:27:58.86 +C1LL1e5.net
なにか作リながら覚えたほうがいいよ

258:デフォルトの名無しさん
18/06/20 18:37:51.47 Ei8zBiKz.net
>>246
俺には関数部分のコードが正しいのかはわからんのだが、
paysに0が含まれてるからとかってオチじゃないの?

259:デフォルトの名無しさん
18/06/20 18:40:48.63 pwTbHfBQ.net
とりあえずPythonによるWebスクレイピングという本買って勉強してみます

260:デフォルトの名無しさん
18/06/20 19:36:01.15 f2SC6f9A.net
まずチュートリアルくらいやってから目的に着手しろ

261:デフォルトの名無しさん
18/06/20 19:41:13.26 pwTbHfBQ.net
了解です!

262:デフォルトの名無しさん
18/06/20 19:41:29.35 j+YwaUS/.net
この間その本買ったけれどエキサイト翻訳かと思った

263:デフォルトの名無しさん
18/06/20 22:49:52.55 NQCW3xu6.net
jQuery, Ruby のNokogiri の、CSS セレクターを参照。
XPath よりも良い
なでしこの作者、クジラ飛行机の本は、難しいのか


264:



265:デフォルトの名無しさん
18/06/21 00:19:08.94 dFNQiNVu.net
そんな言い方して初心者がわかるわけねーだろw

266:デフォルトの名無しさん
18/06/21 00:34:34.36 9yZQgWTf.net
またrubyスレ荒らしてこなきゃ…

267:デフォルトの名無しさん
18/06/21 02:20:29.04 4X5SWneX.net
使命感なの?

268:デフォルトの名無しさん
18/06/21 09:16:14.27 th0Ggf9H.net
いいえ、自作自演です

269:デフォルトの名無しさん
18/06/21 09:21:58.43 aMhGFfRi.net
あたまいいな

270:デフォルトの名無しさん
18/06/21 10:29:14.72 lfaMuH86.net
jythonみたいなやつでpython3のはありますか?

271:デフォルトの名無しさん
18/06/21 12:28:34.50 Ngoevl6s.net
ありません

272:デフォルトの名無しさん
18/06/21 14:20:26.85 4fOpOd5u.net
pypyならあります

273:デフォルトの名無しさん
18/06/21 16:04:08.29 +lcgGtMn.net
>>264
pypyってやつを使えばpython3とjavaを一緒に使えるんですか?

274:デフォルトの名無しさん
18/06/21 16:46:24.14 4fOpOd5u.net
楽観的な解釈をするならばYes
質問者のレベルに合わせて考えるならNo

275:デフォルトの名無しさん
18/06/21 18:16:42.62 OqoFGLVJ.net
Anacondaからjupyter notebookを立ち上げてプログラムを起動するとno module named intertoolsというエラーが出ます
中身を確認したり何度かプログラムを動かしていると動作します
数分前まで動いていたプログラムでさえ立ち上げ直後は上記のエラー発生するのですが同様のケースを経験された方はいらっしゃいますか?

276:デフォルトの名無しさん
18/06/22 07:26:43.33 Msegs9yk.net
ヘルプかマニュアルに書いてある

277:デフォルトの名無しさん
18/06/22 09:31:36.57 MYEvMa8B.net
itertools

278:デフォルトの名無しさん
18/06/22 12:16:23.68 rBqx8nP+.net
指定した値が入っているリスト番地を返すindexって命令がありますけど
あれの正規表現版みたいなのはないですか?

279:デフォルトの名無しさん
18/06/22 12:44:11.76 nYBVNtu1.net
みたいなのってなんやねん

280:デフォルトの名無しさん
18/06/22 13:03:23.91 MYEvMa8B.net
$1

281:デフォルトの名無しさん
18/06/22 13:42:50.45 PcH7NVke.net
>>270
URLリンク(docs.python.jp)

282:デフォルトの名無しさん
18/06/22 14:58:02.62 lWEcvKD/.net
idx = next(i for i, v in enumerate(hogelist) if re.search(r"hage", v))
こういう事言ってるのかと思った

283:デフォルトの名無しさん
18/06/22 16:28:11.91 rBqx8nP+.net
>>273-274
目的を解決する標準関数はないけど
そのやり方を参考に自作関数を作ればいいわけですね
分かりました。ありがとうございます

284:遊園地
18/06/22 21:15:46.77 FpgraKib.net
2,3分で書くと、こんなもんかな。
import re
s = "012abc345def"
m = re.findall(r'[a-z]', s)
for i in m:print(i,re.search(i,s).span())

285:遊園地
18/06/22 22:20:43.17 FpgraKib.net
>>245は全部使うと1通りになります。的な?

286:遊園地
18/06/22 22:22:53.99 FpgraKib.net
合計金額とか
ない感じ、ですかね。

287:デフォルトの名無しさん
18/06/22 22:24:50.81 sTCVcul9.net
>>245
解決しました。
URLリンク(codepad.org)

288:遊園地
18/06/23 09:53:25.33 rgQZb8eO.net
できてないんじゃない?
50+10+10+1+1=72
50+10+5+5+1+1=72
50+5+5+5+1+1+1+1+1+1+1=72
etc..

289:デフォルトの名無しさん
18/06/23 10:34:48.24 AshQdjwf.net
71通りになった
問題の解釈を間違ってなければだけど

290:デフォルトの名無しさん
18/06/23 11:37:24.13 Ixf2W+q9.net
スクレイピングしたら
requests.exceptions.ConnectionErrorがでて
「既存の接続はリモート ホストに強制的に切断されました」って表示されたんだけど
これ相手から弾かれたってことですよね
time.sleep(10) に入れてたんだけど少ないですかね。

291:デフォルトの名無しさん
18/06/23 11:47:11.24 Kj6n8aPV.net
サイトによるだろ。株やFXならともかく、普通のサイトだと気が狂ってるとしか思えんフェッチする連中がいるし。

292:デフォルトの名無しさん
18/06/23 11:59:31.45 AshQdjwf.net
denyされていなくてもサーバーが高負荷になってれば普通に出る
denyされてるのか単なるエラーなのかは切断の傾向から推測するしかない
それなしに、ただ切断されましたと言われても分かんないね

293:281
18/06/23 12:44:32.88 Ixf2W+q9.net
>>282
>>283
ありがとう。
もしよければその単語の意味を確認させてほしい。
フェッチ=データを取り出すこと
deny= 拒否する 否定する など

294:デフォルトの名無しさん
18/06/23 13:17:45.77 AshQdjwf.net
接続を弾く場合、一般的にはファイヤーウォールやhttpdの機能を使う
それの設定の定番がallow-deny形式のルール
denyされた=ファイヤーウォールやhttpdで接続を拒否するように設定された
と考えて

295:281
18/06/23 14:13:39.32 X4Sjt2iY.net
>>286
ありがとう。止まったのは夜中だから機械的にアクセス拒否されたと考えてます。
timesleepの秒数をもっと長くして、あとrondomと組み合わせて、同じ時間感覚でアクセスするのやめるて様子みてみます。

296:遊園地
18/06/23 14:24:38.20 rgQZb8eO.net
初歩的な対処法なら
同じIPアドレスからのアクセスの間隔が常にほぼ同じ秒数間隔の変更
同じIPアドレスから、同じユーザーエージェントで大量にアクセス IP変更で対処
人間らしくないきっちりしすぎるアクセス *1
何度もアクセスしてきているのに、セッションクッキーを絶対に送ってこない
__CookieはWEBサーバーが発行し、ブラウザが保持するキーと値
__セッションはWEBサーバーで保持するキーと値
確認方法
C:\Users\(ユーザー名)\AppData\Roaming\Microsoft\Windows\Cookies
ブラウザのアドレス欄に____javascript:document.cookie;
リファラーがまったくない ココは調べてる必要がある
*1
__HTMLだけにアクセスしてJavaScriptやCSS、画像にまったくアクセスしていない
注意:画像だけにアクセスしても同様に対処される

297:デフォルトの名無しさん
18/06/23 14:26:59.81 8e5n022B.net
それこそ人工知能で人間っぽくみせるプログラムとかを作ってほしいですよね。

298:遊園地
18/06/23 14:29:45.70 rgQZb8eO.net
いくつかの書式形式から、HTML構造を頻繁に変えられると
もう、維持の張り合い
そんなサイトに出くわした事はない。けどなーw

299:遊園地
18/06/23 14:35:43.61 rgQZb8eO.net
>>289
python関係ないけど、
費用掛かって良いなら、
___RPAのトリガーを使う
試した事ないから、無理かもしれない。+時間が膨大にかかる

300:281
18/06/23 16:00:37.87 Ixf2W+q9.net
>>288
とても参考になります。
>同じIPアドレスからのアクセスの間隔が常にほぼ同じ秒数間隔の変更
やりました。今のところこれだけで大丈夫そうです。
>同じIPアドレスから、同じユーザーエージェントで大量にアクセス IP変更で対処
調べたらやり方がでてきたので、検討します。
>人間らしくないきっちりしすぎるアクセス *1
わかりました。覚えておきます。
>C:\Users\(ユーザー名)\AppData\Roaming\Microsoft\Windows\Cookies
Appdateというフォルダがなく、C:\Users\(ユーザー名)、までしか一致しなかったです。
Cドライブ指定で「Cookies」で検索しましたが、これに関係ありそうなファイルにはたどり着けませんでした。
こちらwin10(64)です。
>ブラウザのアドレス欄に____javascript:document.cookie;
やりました。なんか文字いっぱい出てきました。
>リファラーがまったくない ココは調べてる必要がある
検索結果のURLに直接アクセスしてるので、TOPの検索経由でスクレイピングする方法も試してみます。

301:遊園地
18/06/23 18:20:10.76 rgQZb8eO.net
>>292
おめでとう。
 こっちはURLまで取得できるけど、保存だと弾かれて苦戦中
試しにIPとブラウザ偽装でも、ダメだった。
諦めて、PyAutoGUIでキーボードでブラウザ操作に切り替え用か迷ってる。

302:デフォルトの名無しさん
18/06/23 21:41:08.02 m3qN670q.net
質問です。
こんなふうなスクリプトを書いています。
URLリンク(pastebin.com)
68~75行目で変数に関数を代入していますが、77~78行目をコメントアウトしてあるので何も動かないと思うんですが、実際には6行目の関数が動いてprint(~)とinput()が求められてしまいます。
なぜ動くんでしょうか?

303:デフォルトの名無しさん
18/06/23 21:56:20.14 I6yycig3.net
>>294
68行目が実行されて、
get_service_id() が実行されているからでは。
むしろ、なんで77-78行目をコメントアウトすると、何も実行されないはずと考えたのかが理解不能。

304:デフォルトの名無しさん
18/06/23 21:58:47.18 1v1LX/MG.net
68行目でget_service_idを実行してるから。
関数の代入ではなく関数の評価結果の代入になってる。
だからget_service_id関数はそこで評価(実行)され、そこでinput求められてる。

305:デフォルトの名無しさん
18/06/23 22:26:43.34 m3qN670q.net
>>295
>>296
どうもありがとうございます。
変数には関数を代入したのでは無く、関数の処理結果を代入した場合は、77-78の有無にかかわらず68行目の時点で実行されてしまうんですね。
77や78を動かした時のみ上の関数が動くようにするにはどんな方法がありますか?

306:デフォルトの名無しさん
18/06/23 22:33:19.54 AshQdjwf.net
え、ifも分からないとかそういうレベルなの
ifは分かるの?どう?

307:デフォルトの名無しさん
18/06/23 22:36:48.34 euiJmXfR.net
if文は分かりますが、この場合どうやって使うんでしょうか?

308:デフォルトの名無しさん
18/06/23 22:38:41.95 3sIWKIRG.net
>>298
なんでいちいち煽るのスレタイ読めないの

309:デフォルトの名無しさん
18/06/23 22:41:53.16 AshQdjwf.net
ifで77に必要なコードと78に必要なコードに分けろ
普通の頭ならそうする
>77や78を動かした時のみ上の関数が動くようにするにはどんな方法がありますか?
変数を一切使わなければいい
あのコードだと読み辛すぎて普通の頭ならやらない

310:デフォルトの名無しさん
18/06/23 22:57:34.69 m3qN670q.net
>>301
どうもありがとうございます
ifの使い方、変数を使わない方法を考えてみます

311:遊園地
18/06/23 23:03:26.61 rgQZb8eO.net
何してるかすら分からないや。
URLリンク(ideone.com)

312:デフォルトの名無しさん
18/06/23 23:06:55.26 rgQZb8eO.net
URLリンク(ideone.com)

313:デフォルトの名無しさん
18/06/24 15:48:36.36 RVJ6teNY.net
スクレイピングに挑戦してるんだど
503や404のHTTPerror別に処理を分ける方法ってありますか?
503の時は動作停止
404の時は動作続行
としたいんだけど…
検索してもさっぱり手掛かり掴めないので、
方法としてあるかどうかだけでも知りたいです。

314:304
18/06/24 15:52:00.43 RVJ6teNY.net
>>305補足です。
スクレイピング対象のURLは複数あって、
コード内のURL(途中まで)と、txtファイルから読み込んだパラメータを組み合わせて完成URLを生成してます。

315:デフォルトの名無しさん
18/06/24 16:45:34.35 2Vrp11he.net
プログラミングもやったことないんですが、いきなりpythonの入門書をやっていいのでしょうか?

316:デフォルトの名無しさん
18/06/24 16:49:24.00 2Vrp11he.net
それともPCの入門書みたいな本を先にやるべきでしょうか?

317:デフォルトの名無しさん
18/06/24 17:11:02.94 uBBkkzH4.net
>>306
まずは自分の書いたコード貼れよと
このスレで以前マジ叱責されたわ

318:デフォルトの名無しさん
18/06/24 17:19:49.55 fW0KLT9g.net
スクレイピングとapiについての質問なのですが
セキュリティ関連のあるサイトから検索し、結果を取得したいのですが提供されているapiがリクエスト上限が分間数件とかです…
もう少し効率よく取得したいのですがスクレイピングならこういう制限なく自由に取っていって良いんでしょうか?
robots.txtは確認しましたがdelayの項目は無く制限された階層?からの取得はありません。

319:デフォルトの名無しさん
18/06/24 17:22:56.35 iZ9NT8wM.net
>>307
まずPythonをやる動機はあるのかい?
システムを外注する金がないからお前作れと上司から無茶振りされたとか、
学校の課題で出されたとか、具体的な動機がないとプログラミングは身につかない
ただやってみたいってだけで身に付くのは好奇心旺盛で頭が柔軟な子供のみ

320:
18/06/24 17:33:34.72 rYGVoBbS.net
>>311
>ただやってみたいってだけで身に付くのは好奇心旺盛で頭が柔軟な子供のみ
子供は子供相応のやさしい課題をやるから「やってみたい」だけで身につく、という面があるのだろうね
プログラミングは複雑だし、単に覚えるだけではなく創る面もあるから、継続してモチベーションを維持しないといけない
モチベーションの維持ってどうすればいいのかな?

321:デフォルトの名無しさん
18/06/24 17:38:59.94 I6qT+7Vz.net
>>310
日本では悪しき前例があるから「どこまでならやっていいのか」に関しては部外者はなにも保証できない
そのサイトにルールが記載されてないなら運営に直接に尋ねるのが正解
尋ねた上でやるなと言われたら素直に諦めてAPIを使う
ビジネス上のメリットを提示して交渉できるなら希望はあるけど個人じゃ難しいよ

322:デフォルトの名無しさん
18/06/24 18:02:51.87 KnGMQ2/n.net
>>313
ありがとう
英語のサイトで尋ねるのも大変ですし、この作業自体が隣の席の人がダルそうにチェックしてるから
どうにか出来ないかな レベルの話だからAPIで簡単に実装してみます
遅いダルいとか言い出したら昔の事件の存在とか少し伝えてそれでも欲しがったらスクレイピングしてみます改めてありがとう

323:304
18/06/24 18:09:49.65 RVJ6teNY.net
>>309
すみません。質問用に同様の動作をするコードを作りました。下記コードを元に何らかの助言が頂ければと思います。
urllistは質問用に設定したヤフーニュースの記事です。現状だと「res.raise_for_status()」が記述されているため、2つめの記事「~pickup/9999999」の読み取り時に404エラーが出て処理が停止します。
エラーコードは ~ requests.exceptions.HTTPError: 404 Client Error: Not Found for url: URLリンク(news.yahoo.co.jp) ~ です。
実現したいことは、404エラーの時は停止せず、次のURL読み込みに進んでほしいのです。ただし、503エラーの時は、停止させたいと思っています。
res.raise_for_status()を消せば処理は進みますが、503の時もアクセスし続けてしまうことが課題です。
----------
import requests, bs4
import csv
urllist1 = [
'URLリンク(news.yahoo.co.jp)',
'URLリンク(news.yahoo.co.jp)',
'URLリンク(news.yahoo.co.jp)',
]
with open('news.csv', 'w', encoding='CP932', errors='ignore') as f:
for urllist in urllist1:
res = requests.get(urllist)
res.raise_for_status()
soup = bs4.BeautifulSoup(res.text, "html.parser")
elems = soup.select('h2')
for elem in elems:
print(elem)
writer = csv.writer(f)
writer.writerows(elems)
----------

324:デフォルトの名無しさん
18/06/24 18:37:04.52 2Vrp11he.net
>>311
文系の大学生で、暇なのでやってみたいと思いました…

325:デフォルトの名無しさん
18/06/24 18:44:52.85 L9YI7tib.net
>>316
文系なら英語できる?
codecademyとかやってみたら、
わからん単語調べながら
環境構築も要らんし

326:デフォルトの名無しさん
18/06/24 18:57:21.23 KnGMQ2/n.net
>>316
正直何に困ってるのか掴みかねますが
PCの入門本かpython入門本で迷うと言うことは基本的なPC知識が足りないと言うことでしょうか
自分で問題無く環境構築など進めるかと言った疑問でしょうか。
どちらにしても暇を持て余しているのであればネットで調べて実際にやってみると出来る出来ない分からないなどがはっきりし
質問しやすくなったり書籍購入するにしてもどういう本が良いか検討しやすくなると思われます。

327:デフォルトの名無しさん
18/06/24 19:18:26.36 nwkedvyK.net
>>ID:2Vrp11he
そもそもPCをあまり使ったことがあまりないなら、まずはPCを使い倒すこと
その中で「一件片付けるのは簡単だけど、何百件単位で片付けなきゃいけないからやってられない」って作業を見つけたら
それをプログラムで解決してみればいい
あと、プログラムを覚える前段階として正規表現を覚えるといいよ
Webから情報をコピー→テキストエディタやエクセルに貼り付け→正規表現で整形
という作業を日常的によくやるようになったら、プログラムスキルも伸びやすいと思う

328:デフォルトの名無しさん
18/06/24 19:25:45.93 VtKhATJw.net
>>315
for urllist in urllist1:
  res = requests.get(urllist)
  if res.status_code == 404:
    # 何がしかの処理(必要なら)
    continue      # forに戻って次の処理に進む
  res.raise_for_status()

329:デフォルトの名無しさん
18/06/24 19:34:46.58 QeMF1Yls.net
最初っからわかるヤツなんていない。
「どっから手を付けていいのかわからない」が当たり前。そこで苦しんで覚えるかってのが分岐点だな。

330:314
18/06/24 19:55:19.06 RVJ6teNY.net
>>320
ありがとうです!
ちょうどif文で調べてたところでした。
もっと勉強頑張ります!

331:デフォルトの名無しさん
18/06/24 19:57:20.22 2Vrp11he.net
環境構築とか正規表現とか用語が分からないけど、やっぱり暇を活かして自分で少しやってみます

332:314
18/06/24 20:25:01.44 RVJ6teNY.net
>>320
すみません、よく見たら出力された記事が一番下の「~6287380」だけで、
一番上の「~6287442」が取得できていませんでした。
解決方法もしわかりましたらご回答お願いします。

333:314
18/06/24 20:39:49.25 RVJ6teNY.net
自己解決しました。
res.raise_for_status() 以下のインデントを間違えていました!
自己解決!

334:デフォルトの名無しさん
18/06/24 23:18:20.51 chBT6m1a.net
まず学生は、cd, echo, cat とか、数十のLinux 基本コマンドから勉強する
謎のような呪文を覚えるって、皆言ってる

335:デフォルトの名無しさん
18/06/25 05:30:16.27 EtUnF6lg.net
ほとんど英語やん

336:デフォルトの名無しさん
18/06/25 08:41:46.74 VZyJO0ys.net
RPCやってみようと思うんだけどどれがオススメ?

337:デフォルトの名無しさん
18/06/25 09:03:49.98 Cj5A+AR2.net
catって猫なの?

338:デフォルトの名無しさん
18/06/25 09:36:34.17 naF7zW7q.net
いまだととりあえずgRPCしとけって空気だな

339:デフォルトの名無しさん
18/06/25 11:11:09.05 fSERGsnu.net
c言語の構造体配列みたいなのはpythonでどうやればいいんですか?

340:デフォルトの名無しさん
18/06/25 11:18:33.76 DuFsc7dI.net
みたいなのではなく目的を言え
そんな聞き方をされても、同じものはPythonには無いとしか答えられん

341:デフォルトの名無しさん
18/06/25 11:38:50.40 dToWkiL+.net
>>331
オブジェクト指向機能使えばいいのでは?

342:デフォルトの名無しさん
18/06/25 11:59:32.82 fSERGsnu.net
>>333
アドバイス通りクラスとか配列とかいい感じにすればできそうです
ありがとうございました

343:デフォルトの名無しさん
18/06/25 14:06:46.86 Mhnqwvq5.net
codeacademyって、Python3のコースってできたの?
それともまだ2だけ?

344:デフォルトの名無しさん
18/06/25 14:24:05.55 tpBtUwyy.net
>>331
ctypes
struct

345:デフォルトの名無しさん
18/06/25 14:25:22.14 tpBtUwyy.net
ctypes.Structure だった

346:デフォルトの名無しさん
18/06/25 18:29:35.17 xfktAix5.net
すみません
くっっっっっっっっっっっっっそ初心者丸出しの質問で申し訳ないです
公式からexeインストーラをDLしてインストールしたのですが、コマンドプロンプトでバージョン確認しようとしても
'python' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。
と出て実行できません
インストール時にパスを通すオプションにはチェックを入れたし、念のため環境変数も確認しましたが
インストールフォルダ、及び配下のScriptフォルダがpathに設定されていました
OSはWin10 64bitです
使用したインストーラはpython-3.6.5-amd64.exeです
何がいけないのでしょうか

347:デフォルトの名無しさん
18/06/25 18:35:53.90 aY7uj4w5.net
>>338
3系はたぶん python3 あるいは py だとおもうの

348:デフォルトの名無しさん
18/06/25 18:43:36.08 xfktAix5.net
>>339
マジだ
pyでした
ありがとうございました!

349:デフォルトの名無しさん
18/06/25 20:52:30.61 0JOXULDc.net
すみません、pythonを「サイフォン」と読んでしまう病気にかかっているのですが、治す方法はないでしょうか、、、

350:デフォルトの名無しさん
18/06/25 20:54:59.76 Z7/mvOLq.net
ナノマシンでも注入されてるか、ゴーストハックされてんじゃないですか?

351:デフォルトの名無しさん
18/06/25 20:56:36.93 IGovl2eG.net
URLリンク(ideone.com)
15行目のHTTPErrorの部分でpylintで以下のエラーが出ます。
E0701:Bad except clauses order (URLError is an ancestor class of HTTPError)
何がいけないんでしょうか?

352:デフォルトの名無しさん
18/06/25 21:07:26.23 loJfcRLV.net
>>343
URLErrorはHTTPErrorの基底クラスなのでexcept句を並記しても分離できませんよという親切なご忠告。

353:デフォルトの名無しさん
18/06/25 21:08:24.10 IGovl2eG.net
>>343
自己レス
12~14と15~17の順番を逆にしなきゃいけないんでしょうか?
順番的にURLErrorの方が植えだと思うんですがどうですか?

354:デフォルトの名無しさん
18/06/25 21:09:22.83 loJfcRLV.net
URLErrorとHTTPErrorのexcept句の記述順序を逆にすると多分文句いわれなくなると思う。

355:デフォルトの名無しさん
18/06/25 21:11:38.68 IGovl2eG.net
>>344
なるほど
サーバーからHTTPエラーが返る場合でも先にこの処理でURLエラーを返してしまうので、HTTPエラーに進めないんですね

356:デフォルトの名無しさん
18/06/25 21:12:16.14 IGovl2eG.net
>>344
>>346
どうもありがとうございました

357:デフォルトの名無しさん
18/06/25 21:36:18.05 zC5xTz/q.net
Excelから読み込んだデータをデータベースに格納したいと思っています
必要な列を抜き出してデータフレームにするところまでは出来たのですが、データベースに入れる部分で行単位で処理するのか列単位で処理するのかなど、どのように処理すれば良いのかイメージが沸かず行き詰まっています
進める手順や考えた方をよろしければ教えてください

358:デフォルトの名無しさん
18/06/25 21:50:25.87 IGovl2eG.net
>>343
21行目
AttributeErrorってなんでしょうか?
参考にしているスクレイピングの本の最初でいきなりこの記述が出てきました。
Pythonの入門書の索引にもAttributeErrorはありませんでした。

359:デフォルトの名無しさん
18/06/25 21:55:04.92 M/oLTPjd.net
>>349
CSVファイルなら直接DBのコマンドでロードできるから、
まず一時テーブルに全部ロードしてから必要なものだけ別のテーブルに移せばいい
Pythonなんか全く必要なくクソ簡単だしPythonなんか使うより遥かに速いよ

360:デフォルトの名無しさん
18/06/25 21:59:40.97 zJ8EJkfE.net
pythonは他人のコード読みやすいのがほんと素晴らしいね
勉強はかどるわ

361:デフォルトの名無しさん
18/06/25 21:59:53.59 ZHyGPm7B.net
ある程度の量のデータを扱うにあたって、最も重要なツールはTensorFlowでもSparkでもpandasでもPythonでもなくSQLだ
覚えておけ

362:デフォルトの名無しさん
18/06/25 22:02:59.92 hIvBrOlA.net
すみません忘れました

363:デフォルトの名無しさん
18/06/25 22:10:43.65 LkQPSHVB.net
>>350
BeautifulSoupが吐くエラーなので、BeautifulSoupのドキュメント見ると良いです。

364:デフォルトの名無しさん
18/06/25 22:12:59.92 IGovl2eG.net
>>355
どうもありがとうございます

365:デフォルトの名無しさん
18/06/25 22:53:21.58 Eh6m6Gcw.net
>>337
亀レスすいません
今回は使い


366:ませんでしたかありがとうございます ctypes.StructureでCっぽく書けるとかpythonは自由度が高いのか低いのかよくわからない言語ですね



367:デフォルトの名無しさん
18/06/25 23:57:11.82 lTrbOz9W.net
>>331
class を使えば?
Ruby でも普通は、Struct よりも、classを使う。
Structは、classのひな形を作る、class generator
>>350
「python beautifulsoup AttributeError」で検索!

368:デフォルトの名無しさん
18/06/26 00:47:58.65 85MS96V/.net
こんなところにも他人の褌で相撲を取るRuby厨w
書店の棚割りは減るばかりwww

369:デフォルトの名無しさん
18/06/26 08:50:02.61 aQBGrrs7.net
必要な関数を概ね完成させたプログラムがあって
IDLEで関数を手動で実行しながらmain関数を作ろうって段階なんですけど
IDLEを閉じちゃったら、毎回IDLEにプログラム全体をコピペするしか無いんですかね?

370:デフォルトの名無しさん
18/06/26 10:29:42.36 VfyrMZUM.net
>>360
IDE使おうな

371:デフォルトの名無しさん
18/06/26 12:14:47.99 1yYqhwIs.net
IDLE Autosave でググりましよう

372:デフォルトの名無しさん
18/06/26 13:23:42.18 aQBGrrs7.net
>>361
PyCharmがいいらしいのでとりあえずインストールしてみましたが
機能が多すぎてよくわかんないです
あと、インタラクティブシェルではインポートできた「win32com.client」が
PyCharmではModuleNotFoundErrorになってしまいます
>>362
ググったけどよくわかんなかったです
キーワードから察するにIDLEはプログラム内で設定された値を保持できるみたいなことだと思いますが…
あとちょっと嘘ついてました
IDLEは文字が多くなるとすぐ重くなるので使ってません
コマンドプロンプトのインタラクティブシェルで実験しながらプログラムを作ってます

373:デフォルトの名無しさん
18/06/26 14:16:48.58 xYarJXzO.net
始めてjupyterlab使ったけど便利すぎて泣けてきた

374:デフォルトの名無しさん
18/06/26 15:08:43.55 VfyrMZUM.net
>>363
それpycharmとIDLEで使ってるインタプリタが違うからモジュールをインポートできないんだよ
パイチャーム難しいならスパイダーとか簡単なんじゃないか?使ったことないが

375:デフォルトの名無しさん
18/06/26 15:15:11.62 Pch/7s9D.net
vscodeでもええで、pyCharmほどしっかりはしてないが、勉強目的なら十分いける

376:デフォルトの名無しさん
18/06/26 15:17:14.47 Pch/7s9D.net
編集だけならemediterとかでもいいか

377:デフォルトの名無しさん
18/06/26 15:22:12.30 1/94qv1z.net
それは逆
プロダクションならPythonだけで完結するケースは稀だからVSCodeになる

378:デフォルトの名無しさん
18/06/26 15:29:31.42 +kZBpvme.net
「勉強目的なら」が見えないのかね。
プロダクションとかアホか。

379:デフォルトの名無しさん
18/06/26 15:36:33.89 aQBGrrs7.net
とりあえず当初の問題は自己解決しました
py -i script.py
でスクリプトを読み込んだあとインタラクティブシェルに移行できました
エディタについては今後じっくり検討します。ありがとうございました

380:デフォルトの名無しさん
18/06/26 15:38:16.69 1/94qv1z.net
>>369
まるでpyCharmが本格的な開発用でvscodeは勉強くらいにしか使えない玩具ととられかねないような書き方だったから訂正したんだよ

381:デフォルトの名無しさん
18/06/26 17:05:10.11 NgTyc+4S.net
プログラマーはなぜイキりがちなんだろうな
最初は穏やかな人でもプログラミング学ぶと性格変わったりしてな…

382:遊園地
18/06/26 19:35:21.10 PI8We1ew.net
できたから、お前らにやるよw
URLリンク(ideone.com)

383:デフォルトの名無しさん
18/06/26 19:40:33.59 ouGSlrDx.net
穏やかな心を持ち、
怒りによって目覚めた。

384:デフォルトの名無しさん
18/06/27 02:56:08.57 +x1q6XeE.net
すべての言語で無料の、vscode だろ
JetBrains の、WebStorm, PhpStorm, PyCharm, RubyMi


385:ne はプロ用



386:デフォルトの名無しさん
18/06/27 07:55:32.89 0PR31v28.net
PyCharmなんか元々金になってるとは思えないからVSCodeに取られようが影響ないだろうけど、
VSCodeはJetBrainsの総本山のJavaすら取り込み始めてるからなあ
PyCharm愛用者もそろそろ次を考えとかないといきなり会社ごと消滅するかもね

387:デフォルトの名無しさん
18/06/27 08:08:38.95 4g2i7olQ.net
VSCodeちゃんだいすき

388:デフォルトの名無しさん
18/06/27 18:27:52.01 joyJ67qD.net
>>370
ipythonも調べると幸せになれるかもしれない

389:デフォルトの名無しさん
18/06/28 04:34:10.70 4JHdG6Y6.net
2018-06-28T02:05:00+09:00
2018-06-28T03:00:00+09:00
この二つの文字列を
02時05分 - 03時00分 (55分)
と表示させたいです。
URLリンク(ideone.com)
このように書くと、22行目の '(' と ')' はstrでsabunはintなので + を使うと表示させたいです、エラーになってしまいます。
いい方法教えて欲しいです。

390:デフォルトの名無しさん
18/06/28 04:52:31.67 4JHdG6Y6.net
> このように書くと、22行目の '(' と ')' はstrでsabunはintなので + を使うと表示させたいです、エラーになってしまいます。
このように書くと、22行目の '(' と ')' はstrでsabunはintなので + を使うとエラーになってしまいます。
の書き間違いです

391:デフォルトの名無しさん
18/06/28 04:55:45.58 4JHdG6Y6.net
自己レス
19行目をsabun = str(int((epo_time_e - epo_time_s) / 60))とすることで希望どうりになりました

392:デフォルトの名無しさん
18/06/28 05:01:27.80 KT9XUAgI.net
str()しなくても書けるよ
例えばpython3.6以降なら、
print(f'{ss_time} - {ee_time} ({sabun} 分)')

393:デフォルトの名無しさん
18/06/28 05:17:53.23 4JHdG6Y6.net
>>382
どうもありがとうございます。
こっちの方が何倍も簡単ですね。
f’{}’という機能がそれでしょうか?
これは何という名前の機能なんでしょうか?
使いこなせるようになりたいです。

394:デフォルトの名無しさん
18/06/28 05:29:58.30 KT9XUAgI.net
>>383
f-stringsとか、フォーマット済み文字列リテラルと言う(多分)
'python 文字列 フォーマット'とかでググれば、他のやり方も出てくると思う

395:デフォルトの名無しさん
18/06/28 05:54:10.67 4JHdG6Y6.net
>>384
どうもありがとうございます
print('くだもの:', ttes1['aaa'])

print('やさい:', ttes2[0])
今まで使ってた上の方法をf-stringsに変える場合はどうやりますか?
ttes1の中はこんな感じです。
print(f'くだもの: {ttes1}')
くだもの: {'aaa': 'りんご', 'bbb': 'みかん', 'ccc': 'いちご'}

396:デフォルトの名無しさん
18/06/28 06:01:42.05 4JHdG6Y6.net
自己レス
print(f'くだもの: {ttes1["aaa"]}')
と辞書の[]の中は'ではなく"で囲えば大丈夫でした

397:デフォルトの名無しさん
18/06/28 06:19:49.56 KT9XUAgI.net
他によく使うのは書式変換かな
n = 123456789.123456789
print(f'{n:,.2f}')
-> 123,456,789.12
この場合は、桁区切りと小数点以下桁数を指定してる
formatで調べてみて

398:デフォルトの名無しさん
18/06/28 08:28:32.18 QUrEcNSP.net
>>387
ありがとうございます。
これも便利そうですね。
小数点以下を省きたかったので、>>379 の19行目でint使ったんですが、fでもできそうですね

399:デフォルトの名無しさん
18/06/28 11:03:05.44 5Es+lqIV.net
Java屋なんだけどpythonやらなきゃならない感じ
eclipseでpythonやってる人いますか?

400:デフォルトの名無しさん
18/06/28 13:25:50.42 DXNcBH7t.net
Pycharmを日本語化したいんだけど
上手くできないわ pleiadesインストールしてもset.exe開いてもなにも起きねえ
ウィンドウズだから?charmが最新で対応してないとか?
ファイルが長すぎてちゃんと解凍出来てないとかか

401:デフォルトの名無しさん
18/06/28 13:38:03.88 +eSAzLp6.net
ここは日記をかくスレではありません。

402:デフォルトの名無しさん
18/06/28 13:58:43.91 VtmU26z1.net
俺の発言は日記なのv?

403:デフォルトの名無しさん
18/06/28 16:26:49.17 i0J9pp48.net
そうだけど

404:デフォルトの名無しさん
18/06/28 20:00:48.37 28


405:rqC3aA.net



406:デフォルトの名無しさん
18/06/28 22:51:58.58 gXb2cKg6.net
URLリンク(ideone.com)
Sekaiの部分を書き換えたいです。
clickのサブコマンドとオプションを併用して以下のようになるようにオプションを付ける方法教えてください
$ ./prog.py english --name masao
Hello, masao!

407:デフォルトの名無しさん
18/06/28 23:57:50.64 gXb2cKg6.net
>>395
URLリンク(ideone.com)
こう書く事で、
$ ./prog.py english ―name masao
Hello, masao!
に出来たんですが、ヘルプの項目が表示されませんでした。
間違えていますか?

408:デフォルトの名無しさん
18/06/29 12:49:54.66 AheYOSRK.net
はい

409:デフォルトの名無しさん
18/06/29 21:11:53.29 1XSLHtbi.net
URLリンク(docs.python.jp)
このサイトの
import urllib2
response = urllib2.urlopen('URLリンク(python.org)')
html = response.read()
を実行したのですがurlopenのところでずっと固まってしまいます。
環境は以下のとおりです。curlだと固まらないです。
Linux pre.aichi.net 4.9.0-6-amd64 #1 SMP Debian 4.9.88-1+deb9u1 (2018-05-07) x86_64
Python 2.7.13 (default, Nov 24 2017, 17:33:09)
[GCC 6.3.0 20170516] on linux2

410:デフォルトの名無しさん
18/06/29 21:20:04.53 LH/w1+b2.net
>>398
httpじゃなくてURLリンク(python.org)にしてみたら

411:デフォルトの名無しさん
18/06/29 21:33:53.19 1XSLHtbi.net
やってみましたが固まります。
URLリンク(www.yahoo.co.jp) だと固まりません。
URLリンク(www.goole.co.jp) は固まります。
それで試しにtimeoutを設定してみたらタイムアウト後に返って来て
html = response.read() で読み込んだらすべて読み込まれます。

412:デフォルトの名無しさん
18/06/29 23:02:44.91 BOFwPCmn.net
あー中日美しい

413:デフォルトの名無しさん
18/06/29 23:52:41.97 3ACYVk4m.net
ラジオで現在放送中の番組情報が書かれてあるjsonをwebから取得して必要な情報だけを標準出力に出力するスクリプトを書きました。
requestsとjsonを使いました。
jsonには次の番組の開始時間もかかれてあるので、スクリプトを実行するとまず現在放送されている番組情報を表示してそのまま待機、次の時間時間が来るとjsonを再取得してまた標準出力に出力する~を繰り返すスクリプトを書きたいんですが、どんな方法がありますか?
番組情報を表示する関数はprint_noa、次の番組の開始時間を取得する関数はget_next_timeとしました。
漠然とforとsleepを使うのかなと思っています?
よろしくお願いします。

414:デフォルトの名無しさん
18/06/30 00:08:00.65 3Ww0WFPX.net
>>400
urllib2.Request()を使って headersでUAとリファラとかを渡してみたら?
まぁ、そんなことしなくても、>>398で普通にレスが帰ってくるけどねぇ。
>>402
一定時間おきでも事足りそうだから、
無限ループにtime.sleep()でいいのでは?
あとは、その度にターミナルをクリアするとかがあるといいのかな。

415:デフォルトの名無しさん
18/06/30 00:10:50.95 tr0WXiW5.net
python.org なんかで試すな!
実験用のサイトじゃねえぞ。
負荷を掛けるな
そもそも、HTML を読み込んでも、
ブラウザじゃないのに、JavaScript は実行されないだろ
普通は、Ruby などで、selenium-webdriver で、Chrome を実行したりする。
本物のブラウザを操作しないと、正しくページが実行されない

416:デフォルトの名無しさん
18/06/30 00:15:53.55 tr0WXiW5.net
>>402
Linux では、at, cron に登録すれば、
その時間が来れば、アプリを起動してくれる
Windows にも、同様のサービスがあるはず

417:デフォルトの名無しさん
18/06/30 00:15:55.13 +UtvNLZx.net
>>389
7年くらい前にやったことあるけどクソすぎて投げた
誰に何と言われようが二度と試す気はない
今はVSCodeを愛用している

418:401
18/06/30 00:19:51.24 i9q8wfr8.net
どうもありがとうございます
5分の番組もあれば120分の番組もあればと番組毎に時間はまちまちなんですが、time.sleepとwhiteループを使う場合は、次の番組の開始時間に関わらず、(たとえば)5分おきに再取得するということでしょうか?
むやみに何度もアクセスするのはサイトにもこっちにも悪い気がして…

419:401
18/06/30 00:22:30.76 i9q8wfr8.net
>>405
どうもありがとうございます
cronに自分で書き込むんじゃなくて、自動更新なのでスクリプトの中で実現させたかったです。

420:401
18/06/30 00:22:53.38 i9q8wfr8.net
>>407
>>403 へのレスです

421:401
18/06/30 00:27:03.93 i9q8wfr8.net
ターミナルのクリアは
os.system('cls')
で出来ました

422:401
18/06/30 00:28:13.49 i9q8wfr8.net
>>410
os.system('cls')は使えませんでした

423:401
18/06/30 00:30:08.38 i9q8wfr8.net
ターミナルのクリアはos.system('clear')でした
clsはウインドウズのコマンドらしいですね

424:404
18/06/30 00:37:57.47 tr0WXiW5.net
>>408
プログラム内のループで、時間を足していっても、ずれてしまう。
不正確
でも、時間クラスを使って、OS から時間を教えてもらえば、できる

425:401
18/06/30 01:10:16.93 i9q8wfr8.net
>>413
詳しく知りたいです。
URLリンク(ideone.com)
NGワードだと言われたのでそこにレス内容を書きました。

426:404
18/06/30 01:32:24.16 tr0WXiW5.net
Ruby では、Time クラスで、
OS から時刻を教えてもらったり、時刻同士の差を求めたりできる
Python にも、時刻クラスはあるはず
次まで、sleep した後、
OS から時刻を取得して、過ぎていれば、次の処理をする

427:デフォルトの名無しさん
18/06/30 01:36:08.00 3Ww0WFPX.net
>>407
5分単位で番組があるだろうから、そのくらいでいいのでは?
その程度の間隔のアクセスなら別に問題無いと思うよ。
気になるなら間隔をあけることになるだろうけど、
次の番組もわかるということだから、少しくらい遅れても実用上変わらないだろうし、
まずはつくってみることで、何が足りないのかもわかるしね。
個人的には、そうしたたぐいのツールは時間の正確さは不要と考えてる。
もしできるだけピタリと出したいのなら、次の番組の開始時刻を抽出して、
その開始時刻(+αは必要かも)に更新するようにすればいいでしょう。

428:401
18/06/30 02:37:49.78 i9q8wfr8.net
>>416
どうもありがとうございます。
初心者なのでどのくらいの頻度でアクセスするのが常識の範囲内というか威力業務妨害やエコの観点からいいのかが分かりませんでした。
とりあえず120秒スリープさせてその後情報の再取得を行うwhileループを作ってみたんですが、情報内容に変更がなくとも2分ごとに同じ内容で更新され見た目がチラついて落ち着かなかったのでやめました。
get_next_time()という次の番組開始時刻と現在時刻の差分秒を取得する関数を作り、以下のようにループさせる事で自動で更新してくれました。
URLリンク(ideone.com)
こうするともっといいよってアドバイスがあればお願いします。
時刻のずれがあるかもしれないから415さんのおっしゃるように差分秒に+α秒付け足したほうがよいかもですね。


次ページ
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch