Pythonのお勉強 Part53 [無断転載禁止]©2ch.net

レス数が950を超えています。1000を超えると書き込みができなくなります。
2017/05/13(土) 22:48:04.14ID:O7RODXwf
Pythonオフィシャルサイト
http://www.python.org/

まとめWiki
http://python.rdy.jp/
関連スレ
http://find.2ch.net/?BBS=ALL&;TYPE=TITLE&STR=python
日本Pythonユーザ会 (※英語わかる人は上記のオフィシャルの方を見ることをお薦めします)
http://www.python.jp/

日本語の扱いで戸惑ったらこちらをどうぞ(バッドノウハウ集で笑える)
ttp://speirs.blog17.fc2.com/blog-entry-4.html
ttp://atomic.jpn.ph/prog/etc/encode.html
ttp://d.hatena.ne.jp/kakurasan/20100330/p1

PythonのUnicodeEncodeErrorを知る
ttp://lab.hde.co.jp/2008/08/pythonunicodeencodeerror.html
よくまとまってた。あとで読む

■前スレ
Pythonのお勉強 Part52
http://echo.2ch.net/test/read.cgi/tech/1483756857/
874デフォルトの名無しさん
垢版 |
2017/08/21(月) 21:20:00.89ID:P5SQnNzg
>>873
PATHから外しておく為にそうしてる
2017/08/21(月) 23:17:55.83ID:nqaSDwHR
環境変数PATH に入っていれば、何かの間違いが起きるかも

システムとアナコンダは、切り離しておくのが安全
2017/08/21(月) 23:46:43.53ID:bv6t3kzi
*nixには、cpython for windowsにあるpy.exeみたいなラッパーはないの?
2017/08/22(火) 09:51:50.06ID:B191EVcu
以前のAnacondaはmacだとdylibを共有領域にインストールしていたので
PATHに入ってなかろうがconflictを起こしていた
今はどうだか知らないが
878デフォルトの名無しさん
垢版 |
2017/08/22(火) 11:03:34.84ID:OLt5zdGl
いまVscode使ってるんだけどPycharmの方が良い?
2017/08/22(火) 19:20:08.71ID:ipsewOCn
とりあえずスマホにqpythonいれた初心者っす。
ターミナルで前入れたコマンドをコマンドプロントみたいに↑キーで履歴入力できないんだけどどしたらええの?
この辺使い方書いてるHPとかない?
2017/08/24(木) 16:48:03.24ID:NvmvTqtb
素人です
上のレスでiOS用のがあるんだと知って調べてみたらいくつかアプリがあるようですね
最も高評価なのがPythonista3なるiOS用アプリのようですが、導入するならこれで間違いないですかね
使ったことがある方いたら感想を教えてください
881デフォルトの名無しさん
垢版 |
2017/08/24(木) 17:04:37.04ID:Hxyx7Zq2
>>880
> 使ったことがある方いたら感想を教えてください
これ、スマホでやるもんじゃねーな
2017/08/24(木) 17:26:23.89ID:krC7AGZE
スマホでやってる奴なんて希少種かつ奇行種だからな
そう簡単に見つからんよ
2017/08/24(木) 17:52:12.63ID:fmb+H4Og
スマホでコーディングするためにキーボードアプリまで作っておいて結局コード書いてない俺みたいなのもいる
2017/08/24(木) 18:48:44.13ID:O+tGvMCZ
iPad Proに入れているけれど、あまり使ってないな
885デフォルトの名無しさん
垢版 |
2017/08/24(木) 21:24:26.64ID:I5z2dmpB
>880
使ってる
マッシュルームがわりに
地味に便利


地マ使>
味ッっ8
にシて8
便ュる0
利ル  
 ー  
 ム  
 が  
 わ  
 り  
 に  
2017/08/24(木) 21:36:52.60ID:NvmvTqtb
ありがとうございました
買うのは控えようとおもいます
2017/08/24(木) 21:41:14.20ID:plP2PBjy
>>885
便がニュルっと

まで読んだ
2017/08/24(木) 23:42:18.99ID:NvmvTqtb
Pythonはディープラーニング界隈に於いて引く手数多の時代だとかいうポジキャンをよく耳にしますが一体どういう関係なんでしょうか
2017/08/24(木) 23:47:48.26ID:plP2PBjy
そりゃもう、ねっとりうっふんな関係ですわよ
言わせないでくださいまし
2017/08/24(木) 23:52:06.02ID:2y1G8HO4
ライブラリ見ればわかるだろPythonばっかだよ
Luaに一つ、C++にもなくはない、Javaにも一応あるけど全部死にかけ
891デフォルトの名無しさん
垢版 |
2017/08/25(金) 00:53:07.46ID:fPpvjajI
Juliaで検索するとなぜかPythonがヒットします
Juliaの画像、動画をダウンロードできるモジュールがあるんでしょうか?w
2017/08/25(金) 01:16:08.51ID:uLfQrJrO
juliaっていうpythonインスパイア言語があってだな…
2017/08/25(金) 01:29:09.90ID:Yrdd8SBh
JULIA(日語:じゅりあ,1987年5月25日−)
2017/08/25(金) 16:07:00.93ID:0nrK3Ckt
AVの観過ぎ
895デフォルトの名無しさん
垢版 |
2017/08/26(土) 00:13:13.37ID:vnAe1GCW
>>891
正確に言うと「Julia vs 熊田曜子」で検索すると
Pythonがヒットしますw
2017/08/26(土) 00:14:25.52ID:pf1RytR8
ちょっと何言ってっかわかんないっすね
2017/08/26(土) 02:43:58.37ID:w+5MjHos
Julia Lang で検索すると、女優じゃなくて、言語の方を検索できるよ。
2017/08/26(土) 10:49:22.54ID:xlYG8Wwx
すいませんド素人の初心者なんですが
自分なりにJuliaで検索してスクリプトを書いて見ました
ダメ出しとかしていただけると助かります

#!/usr/bin/env python3
# -*- coding: utf-8 -*-
import urllib.request
import os
hinban = "h_295ecr00090"
dst = "./img/" + hinban + "/"
os.makedirs(dst)
for i in range(1,21,1):
url = "https://pics.dmm.co.jp/digital/video/"; + hinban + "/" + hinban + "jp-" + str(i) + ".jpg"
urllib.request.urlretrieve(url, dst + url.split('/')[-1])
print(i)
print("end")
899デフォルトの名無しさん
垢版 |
2017/08/26(土) 12:03:25.18ID:bnfo0T8w
素人モノは良いな
2017/08/26(土) 12:54:19.25ID:w+5MjHos
>898
実行していないから、読んだだけでのコメントだけど、
urlの文字列を生成する部分は、+で連結していくよりも、joinで一気に連結する方法や、.format()を使う方法が推奨されているよ。
+で連結する都度、文字列オブジェクトが生成されてしまい、効率が悪いからだったと思う。
2017/08/26(土) 13:00:54.01ID:1Xp/S2sl
>range(1,21,1)
range(1,21)

step 1 は、書かない方が、わかりやすい

>dst = "./img/" + hinban + "/"
. で始まるから、相対パスだろ。
実行時の引数で、パスを指定できる方が良い

各url なども、標準出力へ出力すれば良いかも
2017/08/26(土) 13:51:39.63ID:+XRpmYj4
pythonにfinalかconstがあれば今の3.8倍は流行っていたという事実
2017/08/26(土) 13:57:16.81ID:/KbzyB2C
Pythonって簡単ってふれこみだったけど入門書も分厚くて読みにくくて
それほど入門向けの易しさじゃないよね?
2017/08/26(土) 14:01:41.24ID:+XRpmYj4
ブロック{}無くしたのは明らか失敗だったな
初心者相手だと、ここの括りがブロックだよと説明しやすかったのに
インデントを付けないといけない、インデントの部分がブロックだ、????になる
ウンポコピー
2017/08/26(土) 14:06:36.82ID:smVYh0iS
VBAを駆逐してほしい
MSがExcelに採用してくれればなぁ
2017/08/26(土) 14:23:10.41ID:/6NyP82L
EXCEL VBAのわかりずらさはEXCELの設計そのものに起因している
上っ面の言語をとっかえてもどうにもならん
2017/08/26(土) 14:36:46.21ID:smVYh0iS
エクセルの機能は大して使わないんだわ
Excelで数値計算してる社内の馬鹿どもが少しでも居なくなればいいなと
2017/08/26(土) 15:22:44.55ID:Sl7L0cMg
excelもVBAも使えないお荷物バカ社員がパイなんとかってプログラミングやってるらしいよw
909898
垢版 |
2017/08/26(土) 19:19:28.44ID:xlYG8Wwx
>>900,901
ご助言ありがとうございます。joinを使いstep 1を省きました。
DLするURLとローカルパスを表示するようにしてみました。
> 実行時の引数で、パスを指定できる方が良い
の部分がどういう事を指しているのかわかりませんでした。すみません
個人的にJuliaは好みじゃ無かったので対象を素朴な感じの貧乳ちゃんにしてみました。

#!/usr/bin/env python3
# -*- coding: utf-8 -*-
import urllib.request
import os
hinban = "1star00792"
dstdir = ("".join(["./img/" , hinban , "/"]))
os.makedirs(dstdir)
for i in range(1,11):
url = ("".join(["https://pics.dmm.co.jp/digital/video/"; , hinban , "/" , hinban , "jp-" , str(i) , ".jpg"]))
dst = ("".join([dstdir , hinban , "jp-" , str(i) , ".jpg"]))
print(i)
print(url)
print("".join(["===> " , dst]))
urllib.request.urlretrieve(url, dst)
print("end")
2017/08/26(土) 19:50:07.15ID:mi6csUOH
>>907-908
ExcelだろうがVBAだろうがPythonだろうが何だっていいんだよ
目的に応じて適切な物を使えばいい
911デフォルトの名無しさん
垢版 |
2017/08/26(土) 19:52:49.53ID:S2lJYb7j
アフィ厨が画像ダウンロードしてひと儲けを企んでるのか
2017/08/26(土) 23:41:28.44ID:sd5MbxkQ
これでできる一儲けっていくらだ
5円とか?
おじいちゃんの肩でも叩いた方がよくね?
2017/08/27(日) 00:12:20.74ID:Xm4zUSYU
爺ちゃんなら3年前に死んだよ
2017/08/27(日) 01:08:10.61ID:5LlLs1qL
叩き過ぎたな
2017/08/27(日) 03:57:02.38ID:/+UfZMsC
怪談かよ
2017/08/27(日) 07:56:33.43ID:+K+NLzpb
画像直リンで儲かるアフィがあるなら教えて欲しい
2017/08/27(日) 18:21:16.69ID:Xm4zUSYU
これを
12233455567899

こんなふうに並び替える方法ある?
12345678923559
2017/08/27(日) 18:32:57.29ID:LIgBPoun
ある
2017/08/27(日) 19:20:00.71ID:Xm4zUSYU
教えろ
920デフォルトの名無しさん
垢版 |
2017/08/27(日) 19:32:18.64ID:s8bAiEMz
いいよ、ちょっとまってて
2017/08/27(日) 19:38:35.49ID:8MTftWVz
def order()
return 12345678923559

order(12233455567899)


>>919
これでいいか?
2017/08/27(日) 19:39:28.66ID:F2FRlfGe
s=['1', '2', '2', '3', '3', '4', '5', '5', '5', '6', '7', '8', '9', '9']
a=[]
b=[]
for i in s:
  if ret.count(i):
    a.append(i)
  else:
    b.append(i)
else:
  print(a+b)

でっきましたー! イッチバーンw
何でそんなに遅いんですかぁー? 超簡単だったよーww
2017/08/27(日) 19:43:41.36ID:DBQBoW3m
なんだこのお寒い空気は
2017/08/27(日) 19:46:43.59ID:F2FRlfGe
s=['1', '2', '2', '3', '3', '4', '5', '5', '5', '6', '7', '8', '9', '9']
a=[]
b=[]
for i in s:
  if a.count(i):
    a.append(i)
  else:
    b.append(i)
else:
  print(a+b)

修正したでござる、超簡単でござる
2017/08/27(日) 19:53:08.49ID:F2FRlfGe
s=['1', '2', '2', '3', '3', '4', '5', '5', '5', '6', '7', '8', '9', '9']
a=[]
b=[]
for i in s:
  if not a.count(i):
    a.append(i)
  else:
    b.append(i)
else:
  print(a+b)

またミスってたから修正したでござる、急ぐとダメでござるね
でも未だに一番でござるw
2017/08/27(日) 20:40:36.31ID:VVPy1Vgs
文字列のままでいいじゃないか。

s = "12233455567899"
a = ""
b = ""
for i in s:
  if not i in a:
    a = a + i
  else:
    b = b + i
print(a + b)
2017/08/27(日) 20:53:52.78ID:un+1e3Jq
>>922 >>924-925
見てる方がはずかしいぞお前
2017/08/27(日) 20:57:25.66ID:9jwcSF0t
きゃ
2017/08/27(日) 21:00:51.35ID:F2FRlfGe
「あなたたちの中でより優れた回答をした者が、まず、この私に石を投げなさい。」

私を罵倒できるのは今のところ>>926だけ
>>927は本当に恥ずかしい奴
2017/08/27(日) 21:23:45.85ID:FRhMPdcV
計算量のことも少しは考えようよ。

既に使ったかどうかをリストの中にあるかどうかで判定したら毎回O(N)かかって、O(N^2)かかるよ。
setを使って使用済みかどうかの判定をすれば一回あたりO(1)ですんで、トータルでもO(N)になるよ。

入力をリストにせずに、文字列のままでいいというのは賛成だけど、途中の処理で文字列に毎回一文字足していくと、毎回文字列構築するから毎回O(N)かかって、トータルでO(N^2)になるよ。
途中の結果は一文字を要素に持つリストで保持して、最後にjoinすれば、リストへの追加はO(1)だからO(N)でいけるよ。
2017/08/27(日) 21:35:40.92ID:LIgBPoun
ぶっちゃけ921が最強
2017/08/27(日) 21:49:12.19ID:FRhMPdcV
>921
def order():
としないと文法エラー
セミコロンがいる。
あと、引数不一致でもエラーになる。
def order(dummy):
とでもして引数を取るようにしないとダメ。
2017/08/27(日) 22:58:16.77ID:Lfjt/BB5
ウンウン、エライエライ
2017/08/27(日) 23:06:35.99ID:Xm4zUSYU
あったま悪いやつしかおらんのか
2017/08/27(日) 23:09:49.80ID:BA/UgDog
>>921は写像として非常に正しいwwwww
2017/08/27(日) 23:20:16.67ID:nSThxBf4
本屋行ったらpythonの入門書クッソ多かったのでオヌヌメ教えてください
ちなみに前知識ゼロのプログラム素人です
2017/08/28(月) 01:14:01.39ID:8X/W3rYK
ぱらぱらめくってわかりやすそうなやつ選べ
初心者でもひと目でわかるやろ
2017/08/28(月) 01:43:47.77ID:S78RQWWu
なんの用途で使うのかによるけど
pythonで何したいの?
2017/08/28(月) 08:48:28.98ID:JL4Me4RJ
うーん、それは違うんだよね
よく初心者が陥りがちなんだけど、目的が明確にあるわけじゃないんだよね
何かを始めるキッカケなんていうのは単純な思い付きや漠然とした欲求なんだよね
つまり何となくPythonを勉強してみたいわけ
そんな奴を捕まえて、「何が目的なの?」なんて聞く方がナンセンス

まあ分からんでもないよ?目的に応じてそれに適した言語があるなんてことを語りたい気持ち
簡単な処理ならbashとか言ってたあの子と同じ気持ち、ある、確かにそういうマセた感じ
初心者を捕まえてウンチクを語りたい気持ちは誰にでもある、が、不要、全く不要、求められていない
今求められているのはPythonの学習に適した本とかサイトの情報なのだ! 分かったかマヌケ!
2017/08/28(月) 10:30:23.68ID:U4CAw56B
なに?こいつ。
2017/08/28(月) 11:13:51.61ID:IHzBG4Iq
目標の設定は学習の基本だろ
942デフォルトの名無しさん
垢版 |
2017/08/28(月) 12:15:34.37ID:XbaTS/Mq
めずらしくまともなレスあってワロタw
2017/08/28(月) 12:22:43.57ID:ioWE7tHD
>>936
これ読んで決めろ
http://shinyorke.hatenablog.com/entry/2017/01/15/170602

先週出たばかりの初心者向けの本
http://shinyorke.hatenablog.com/entry/surapy
2017/08/28(月) 12:25:26.47ID:lpiY88X5
>>936ですが目的があって始めます
周期的に特定のサイトからHTMLの一部を抜き出すプログラムを組もうと思っています
そういったプログラムに特化した本があればと思いまして
2017/08/28(月) 12:27:06.53ID:lpiY88X5
>>943
同時レスでしたね
ありがとうございます
よく見て吟味してみようと思います
2017/08/28(月) 13:00:56.21ID:4ejthJEF
たのしいRuby 第5版、2016
みんなのPython 第4版、2017

プログラミングの素人に、Pythonは難しい。
Rubyの方が簡単
947デフォルトの名無しさん
垢版 |
2017/08/28(月) 17:13:53.03ID:yBTPsO8j
ステマやん
2017/08/28(月) 17:47:45.82ID:ajQH+laN
俺は
ThinkPython
でpythonを使いこなせるようになった。
2017/08/28(月) 20:24:06.65ID:F3ejZvH0
ダイレクト負け天狗だと思う
2017/08/28(月) 21:17:34.22ID:jDwdQMPb
毎度お世話になります。エロ画像保存野郎です。
アフィではないかと言われたので具体的URLを含めるのはやめることにしました。
今度はリストに書かれたURLのファイルをダウンロードしてみようと思いググりながら書いたのですが
どちらの方法でもリストから「改行コード」を読み込んでしまい
書き出したファイル名に改行コードが紛れ込んでしまいました
.rstrip('\r\n')みたいな感じで一行ごとに改行コードを消しているのですがこれは仕方ない事でしょうか?
それとももっとスマートな方法があるのでしょうか?
※ リストファイル(list.txt)は1行につき一つURLが書かれたプレーンテキストで空行を含みません。
その1
https://ja.osdn.net/pastebin/5296
その2
https://ja.osdn.net/pastebin/5297
それからこの2つのうちでは行数の少ない2の方がいいのかな?と個人的には思うのですがどうでしょう?
ダメ出しなどしていただけるととても助かります。
2017/08/28(月) 21:38:29.36ID:8/+XVSnv
readしてsplitしたのをforで回せば改行消えたと思う
2017/08/28(月) 22:09:27.49ID:K79MAymH
readlines
2017/08/28(月) 23:05:50.22ID:JL4Me4RJ
>>950
2の方が良い、with使ってるし
url.rstrip('\r\n') は、url.strip()でいいんでないかな

dst = (''.join([dstdir , url.split('/')[-1]]))は、dst = dstdir + url.split('/')[-1]でいいんでないかな

あとダウンロードした後にスリープ入れた方がいいんでないかな、time.sleep(0.1)くらい
サイトによっては、あんまり速く連続でアクセスするとロボットと思われて蹴られるよん

あとはurllib.request使うよりもhttplib2とかRequestsとかBeautifulSoup使った方がいいんでないかな
スクレイピングの解説なんかではこれらのライブラリ使ってるんだよね

ちなみに私はhttplib2使ってます
http://diveintopython3-ja.rdy.jp/index.html の14 HTTPウェブサービスで詳しく解説してます
レスポンス確認したりできるし、リクエストヘッダーを追加できるし、キャッシュも利用できる
サイトによってはリクエストヘッダーのRefererがセットされていないと蹴られたりするんだよね
2017/08/28(月) 23:22:14.18ID:qp5cwRxW
withって何ンゴ?
2017/08/28(月) 23:47:09.69ID:8X/W3rYK
>>954
勝手にdeleteしてくれるやつやで(解説適当)
2017/08/28(月) 23:47:45.43ID:UsI8iHab
>>902
これでLiscov violationなるものを知った
957デフォルトの名無しさん
垢版 |
2017/08/29(火) 01:03:24.89ID:3ap5+zNV
改行って付いてきたっけ?
2017/08/29(火) 06:57:07.19ID:CUn16/6b
>>932
セミコロン?
python で使う機会はそんなにないと思うが...
2017/08/29(火) 12:28:57.24ID:92U4/1zE
Pythonクローリング&スクレイピングという本を読んだんですが、
AWS EC2で一番性能の低い24時間稼働のサーバーを借りると1ヵ月当たりの利用料金は大体どのくらいになるんでしょうか
個人で使うものなのであまり高負荷掛かるものは想定していません
2017/08/29(火) 13:52:12.27ID:8M1VQrJQ
>>959
$23くらい
でもクローリングとか通信量多いのかな

1年間無料サービスってもうやってないのかな
2017/08/29(火) 14:10:40.46ID:92U4/1zE
えーそんなにかかるの
500円くらいだったらやろうかとおもったけどそれだとつらいな
サクラのインターネットサービスの方が安いんじゃ
962950
垢版 |
2017/08/29(火) 15:14:49.69ID:O2cxu9vM
>>951
ありがとうございます。その方法で上手く行きました
>>952
ありがとうございます。readlinesもその1で最初に試してみたのですがリストの各要素に改行が入ってしまって…
>>953
ありがとうございます。アドバイス参考にいたします。
とりあえずBeautifulSoupに手を付けて見たのですがおかげさまで一挙に色々な事が自動化出来そうです。
2017/08/29(火) 20:02:46.73ID:8M1VQrJQ
>>961
ちょっと前まで月数万かかるようなサービスだったろ
ホスティングでやってろよ
2017/08/30(水) 21:57:01.78ID:sOGS1SOt
あるサイトにログインして情報を読み取ってログに内容を出力するようなプログラムを作りたいのですが、
サイトにログインする際に使うモジュールって今だと何が最新なんですかね?
2017/08/30(水) 22:39:56.82ID:0OIrfyKv
ジャーバスクライプト
966デフォルトの名無しさん
垢版 |
2017/08/30(水) 23:22:48.48ID:B/XoLqGV
こういう初心者の中の初心者みたいな質問が下手くそな質問が増えたなここ
2017/08/30(水) 23:36:01.46ID:OtY774nI
人は誰もが最初は初心者
本当の初心者は何がわからないかもわからない
968デフォルトの名無しさん
垢版 |
2017/08/30(水) 23:58:38.07ID:q2OOHPJT
むかしの日本人エンジニアは、
アメリカに行くと、ABCではなくPQRから聞いたそうだ
ABCは、独学、日本で勉強した

余談だが、中国人エンジニアは、どいつもこいつもABCから質問するそうだ
2017/08/31(木) 00:00:01.74ID:jyYpFUuv
今のエンジニアは真逆だって皮肉かな?
2017/08/31(木) 00:39:58.22ID:+TmXt6Nx
>>968
Procedure Qualification Record=溶接施工試験記録.

土方かな
2017/08/31(木) 01:34:23.01ID:4jZegeKQ
>>968
ごめん、意味わかんない
2017/08/31(木) 02:02:32.01ID:jhSni1O5
まーた人の話を鵜呑みにしているのか
いい養分だな
2017/08/31(木) 11:06:47.50ID:6Vf/wVqF
>>953
user-agentとreferer無いとforbidden食らうよね。
レス数が950を超えています。1000を超えると書き込みができなくなります。
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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