くだすれPython(超初心者用) その39at TECH
くだすれPython(超初心者用) その39 - 暇つぶし2ch650:デフォルトの名無しさん
18/10/27 21:28:08.36 d3ZViLoJ.net
>>614はpython2で動かした結果

651:デフォルトの名無しさん
18/10/27 21:39:51.74 M4OQ4nwj.net
>>616
まじですか・・
当方ラズパイをつかってまして lxterminalで sudo python ファイル名 なら実行できるけど
python3 IDLEつかうとモジュールエラー出るから避けてたんだけど もしかしてpython3じゃないってことですかね?

652:デフォルトの名無しさん
18/10/27 21:41:02.12 GbJLfo15.net
ちゃんと調べたら2系で動いてましたテヘペロ
に1票
これまでずっとそうしてきたから�


653:ニか本当に信用ならん



654:デフォルトの名無しさん
18/10/27 21:42:08.13 QoVX+/e8.net
sudo python -Vと打ってかくにんしる

655:デフォルトの名無しさん
18/10/27 21:53:58.98 WN5vicFY.net
RHEL系もDebian系もシステム周りはここしばらくはpython -> python2で、3はpython3で呼ぶようになってる

656:デフォルトの名無しさん
18/10/27 21:57:57.20 M4OQ4nwj.net
>>618
確認しました。ほんとにそれでしたすいません。
pip3でインストールしなきゃいけなかったそうです
どうもありがとうございました

657:デフォルトの名無しさん
18/10/27 23:54:55.35 GbJLfo15.net
どんまい

658:デフォルトの名無しさん
18/10/28 07:05:43.19 7IwsJv31.net
自分ではどうしようもなくて他人に泣きついたのにどうしてその相手の言うことを聞かずにグダグダやってたんだ?

659:デフォルトの名無しさん
18/10/28 07:43:54.72 lVhl2H66.net
Pythonで作成したモジュールをUWSCで呼び出すことはできますか?
UWSCではDLLを読み込んで関数が使えるのですが
そういう行為をプログラミング用語でなんというのでしょうか
検索ワードがよくないのか手がかりすら掴めてないです
よろしくお願いします

660:デフォルトの名無しさん
18/10/28 07:57:38.17 JDWqlC9k.net
>>624
uwscなんて初めて知ったけど、exec()というコマンドがあるそうだから、単純に
exec("pythonのパス" + "pythonスクリプトのパス")でいいんじゃないの?

661:デフォルトの名無しさん
18/10/28 11:48:06.52 lVhl2H66.net
>>625
execはexeを起動するだけなんです
似たようなものにdoscmdというのがあるんですがこれでも駄目でした
UWSC掲示板があって過去ログもみたんですがPythonに関する質問すらなかったです
URLリンク(www3.rocketbbs.com)
すみませんわざわざ調べて頂いて

662:デフォルトの名無しさん
18/10/28 12:12:29.72 YiTUMI+K.net
>>626
それで十分だろ。
思い込みは捨てて
exec("<python.exeのフルパス> <スクリプトのフルパス>")
を実行してみなよ。
discmdのほうも単にパスが通ってないだけだと思うよ。
フルパスで入力してる?

663:デフォルトの名無しさん
18/10/28 12:54:25.06 lVhl2H66.net
>>627
すみません、解決しました
実行時の引数が不足してました
ありがとうございました

664:デフォルトの名無しさん
18/10/28 13:08:03.94 auhqQrbO.net
Fswebcamで撮影した写真をメールで自動送信を考えています。
探知して送るのはあるんですけど、撮影した写真をまとめて送るようなプログラムってつくりにくいですか?
シェルだと楽っぽいけど 慣れてないので分からない。。

665:デフォルトの名無しさん
18/10/28 13:30:49.38 auhqQrbO.net
もしくは撮影されたフォルダ内から日時の新しいものとか新しいうちの四つを添付するとかできないかなと?
普通に添付するならファイルが指定になるから難しそうですかね。。

666:デフォルトの名無しさん
18/10/28 22:42:22.92 KcfCsfCB.net
書いてみれば良いじゃない

667:デフォルトの名無しさん
18/10/28 23:28:27.44 fiBcuTbE.net
numpyで配列の要素が範囲となるような配列をつくることはできますか?
例えばAというはいれつがあって、
A[0] = np.arange(0,1,0.01)
みたいなものです

668:デフォルトの名無しさん
18/10/29 00:31:07.47 tXMYusEl.net
意図があってるか分からないが
A = np.stack([np.arange(0,1,0.01)]*10)
A += np.arange(10).reshape((10,1))

669:デフォルトの名無しさん
18/10/29 09:07:55.84 FSHl5k4M.net
>>623
いるよなこういう何の生産性もないレスする奴(烏賊ブ)

670:デフォルトの名無しさん
18/10/29 09:36:36.83 sBuO7UaY.net
そうだな

671:デフォルトの名無しさん
18/10/29 10:18:07.79 ThrPEx61.net
>>633
ありがとうございます
なんとかできました

672:デフォルトの名無しさん
18/10/29 11:12:02.14 wR2M4wFA.net
requestsでファイルをダウンロードする時タイムスタンプは変更しないでダウンロードする方法


673:教えて下さい!!



674:デフォルトの名無しさん
18/10/29 11:28:06.05 VxCr7qKV.net
os.utime

675:デフォルトの名無しさん
18/10/29 11:56:15.99 wR2M4wFA.net
requestsで何らかの方法を使ってファイルの作成日などを取得してダウンロード後にos.utimeでその日付に書き換えるんでしょうか?

676:デフォルトの名無しさん
18/10/29 11:57:16.03 wR2M4wFA.net
wget -N url
みたいな事が出来るとよいんですが。

677:デフォルトの名無しさん
18/10/29 12:28:53.22 20y3T6Cw.net
httpレスポンスヘッダのlastmodified

678:デフォルトの名無しさん
18/10/29 12:51:46.14 VtmwN/uo.net
wget -N url も utime やろ

679:493
18/10/29 17:45:54.93 k7vAtK/H.net
ちょっと前にwebkitgtk epubミューアの件で質問した者ですが、コードを見ていて疑問に思っていたことがあるので
質問させてください。
main_window.py
self.viewer = viewer.Viewer(self)
print("Displaying blank page.")
self.viewer.load_uri("about:blank") # Display a blank page
self.viewer.connect("load-finished", self.__ajust_scroll_position)
self.viewer.connect("load-finished", self.__save_new_position)
self.right_box.pack_end(self.right_scrollable_window, True, True, 0)
# Create Chapters List component and pack it on the left
self.chapters_list_component = chapters_list.ChaptersListComponent(self)
(途中省略)
def __save_new_position(self, wiget, data):
"""
Saves new position in case new load came from link based navigation
:param wiget:
:param data:
"""
if not data.get_uri() == "about:blank":
self.content_provider.set_data_from_uri(data.get_uri())
load-finishedの時に呼ばれているコールバック関数なんですが、wigetとdataって何なんですか?
なんでdata.get_uri()と書けるんでしょうか?
それと、このコールバック関数配置ページ読み込むごとに呼ばれているという認識で正しいのでしょうか?
あと、 content_provider.py
if urllib.parse.unquote((os.path.split(uri)[-1]).split("#")[0]) == os.path.split(self.chapter_links[i])[-1]:
ってどうして必要なんでしょうか?(これがないと機能しないようですが)

680:デフォルトの名無しさん
18/10/29 17:46:38.70 k7vAtK/H.net
関数配置ページ
関数は一ページの変換ミスです。ごめんなさい。

681:デフォルトの名無しさん
18/10/29 17:50:01.97 dTGmjkHB.net
URLリンク(imgur.com)
titleの文字列取得の時はstring付ければよかったけど、最後の奴はstring付けるとエラーになります
こういうときはどうやって文字列だけ抽出するんですか?

682:デフォルトの名無しさん
18/10/29 18:12:16.70 ItEstrK2.net
>>645
写真だと見づらいね
find_allの時はリストで取得してるから
for c in content: で回して取り出してみて

683:デフォルトの名無しさん
18/10/29 18:35:48.17 RJcKPmzk.net
c.attrs['content']

684:デフォルトの名無しさん
18/10/29 18:38:50.81 5LhWTx/7.net
pandasのtocsv使うときデータ内に¥nが入っててcsv出力時点で改行され、excelからcsvをデータインポートカンマ区切りで読み込みたい時に改行されて悲しいことになるんですがどうするのがスマートですか
¥n入るのは正しく、16桁以上の数字のカラムがあるのでデータインポートで読み込みたいです

685:デフォルトの名無しさん
18/10/29 18:49:52.26 dTGmjkHB.net
本当だ
よく見るとこの場合は実行するとリストとして取得されてるんですね
そりゃstringじゃ無理な訳ですね
わかりやすい

686:デフォルトの名無しさん
18/10/29 19:06:12.03 wR2M4wFA.net
>>641
>>642
もうちょっと教えてくださいお願いします!

687:デフォルトの名無しさん
18/10/29 19:11:52.05 PoEM5suC.net
ん? 今、何でもするって言ったよね。

688:デフォルトの名無しさん
18/10/29 19:21:40.44 TEtmhpeX.net
>>648
to_csvのオプションで個々の値にクォーテーションを付ける
import csv
df.to_csv(“hoge.csv”, quoting=csv.QUOTE_ALL)

689:デフォルトの名無しさん
18/10/29 21:46:01.91 b4sCrQ/m.net
>>643
そんな零細プログラムの詳細をここで質問しても誰も答えないと思うぞ…
気が向いたから答えるけど次はないからな。
__save_new_position()メソッドを呼びだしているのはwebviewクラス。
下記ページによると、第二引数はwebview自身、第三引数はwebframeクラスのインスタンスを渡して呼び出されることが分かる。
webframeのリファレンスページを見ればwebframeクラスがget_uri()メソッドを持っていることも分かる。
URLリンク(lazka.github.io)
content_providerのほうは、指定されたxmlファイルが、chapter_links配列の何番目のファイル名と一致しているかを調べることで、チャプター番号を特定している。
uriがエスケープされていたり"#"フラグメントがついてると比較できないから取り除いている。

690:デフォルトの名無しさん
18/10/29 21:54:17.26 g2+WGN4L.net
>>650
一般的にHTTPレスポンスヘッダのLast-Modifiedにファイルのmtimeが入ってるからそれを取得して、ファイル書き出してからmtime更新すれば良い
curl使えるなら-vで一度レスポンスヘッダ見るといい

691:デフォルトの名無しさん
18/10/29 21:58:45.40 Uyob8jIm.net
凄いねよく答えられるな、流石
gtkは全く知らないけど
wigetはwidgetのスペルミスだろうね、きっと

692:デフォルトの名無しさん
18/10/30 06:58:19.30 wwkQj2Ri.net
>>654
これであってますか?
resp = requests.get(url)
# レスポンスヘッダの Last-Modified を取得
last_modified = resp.headers['Last-Modified']
print(ast_modified)
Thu, 13 Oct 2016 05:36:56 GMT
# datetime オブジェクトに変換 (表記のロケール依存を防ぐために dateutil.parser を使う)
last_modified = dateutil.parser.parse(last_modified)
print(ast_modified)
2016-10-13 05:36:56+00:00
# unix time に変えるために calendar を使う
unixtime = calendar.timegm(lastModified.utctimetuple())
print(unixtime)
1476337016
# ファイルの書き込み
img_file = open(file_path, 'wb')
img_file.write(resp.content)
img_file.close()
os.utime(file_path, (unixtime, unixtime)) # ファイルパス, (アクセス時間, 修正時間)

ファイルの作成日の取得と書き込みはどうやるんでしょうか?

693:デフォルトの名無しさん
18/10/30 06:59:46.91 wwkQj2Ri.net
>>656
print(ast_modified)はprint(last_modified)の間違いです

694:640
18/10/30 08:47:23.62 /tw9qCHj.net
>>653
レスありがとうございます。助かりました。

695:デフォルトの名無しさん
18/10/30 09:35:33.18 /tw9qCHj.net
次はないと言割れましたがちょっと不思議なことがあったので質問させていただきます。
sorted関数を使うと、
パブリックドメインのepubで有名なgutenbergのファイル名をソートしていたのですが、
(@public@vhost@g@gutenberg@html@files@31278@31278-h@31278-h-0.htm.htm、@public@vhost@g@gutenberg@html@files@31278@31278-h@31278-h-10.htm.htmllなどというファイル名です)
0. 1.10, 11,12, .2などとソートされるようですが、普通に0,1,2,3,4の順番にできないのでしょうか。
というよりなぜグーテンベルクのファイルだけ、おかしなソートになるのかわかりません。

696:デフォルトの名無しさん
18/10/30 09:48:16.33 JqsKq037.net
数値型は数の大小で比較されるが、
文字列型の数値は文字列として比較されるから数の大小順には並ばない
数値として比較したければ、sort(またはsorted)のkey引数に適切なキー抽出関数を与える必要がある
その本だけがと言っているが、条件を満たしていればどんなリストでもお前の言う「おかしなソート」になる
print(sorted('11', '2', '.1'))

697:656
18/10/30 10:00:46.78 /tw9qCHj.net
>>660
ググったらでてきました。文字列型だと10が2より先に来るようですね。
どうもありがとうございました。

698:デフォルトの名無しさん
18/10/30 12:37:59.64 BBRqRtLN.net
>>656
そんな感じ
ファイルの作成日時は取得する手段がないので諦めて
(独自ヘッダで応答してくれるサーバーを除く)

699:デフォルトの名無しさん
18/10/30 12:44:20.01 QArnhM9r.net
>>652
試してみたけど無理でした
ダブルクリックで開くと問題ないけどtxtのインポートだと開いた時点で改行されるからどうしようも無いのかなこれ

700:デフォルトの名無しさん
18/10/30 14:52:54.90 mxVOiKCI.net
bashからpythonプログラムを実行するときに、pycharmで簡単にデバッグしたいんですが、どうすればいいですか?
pythonコードだけの場合のやり方は分かるんですけど
print()いっぱい書くしか無いんですかね

701:デフォルトの名無しさん
18/10/30 14:55:07.36 mxVOiKCI.net
>>661
float型に変換しないとちゃんとソートできないよ

702:デフォルトの名無しさん
18/10/30 15:01:43.41 mxVOiKCI.net
>>664
解決しました
URLリンク(stackoverflow.com)

703:デフォルトの名無しさん
18/10/30 15:02:59.00 o9t78hsF.net
>>664
pycharm使ってparametersに引数入れてやればいい。

704:653
18/10/30 15:46:23.76 74FRV+Zp.net
>>662
どうもありがとうございます
基本的に作成日の取得は出来ないんですね

705:653
18/10/30 16:13:18.69 74FRV+Zp.net
try:
f = open(local_path, 'rb')
dbx.files_upload(f.read(), upload_path)
f.close()
except dropbox.exceptions.ApiError:
print(dropbox.exceptions.ApiError.error)
Dropboxにアップロードする時、エラーが出た時はプリントするように例外を出したいんですが、
これだと、
AttributeError: type object 'ApiError' has no attribute 'error'
ってエラーが出てしまいます。

try:
f = open(local_path, 'rb')
dbx.files_upload(f.read(), upload_path)
f.close()
except dropbox.exceptions.ApiError as err:
print(err.error)
これだと、エラーがちゃんとプリントされます
なぜ、 as err を付けるとちゃんと動くんでしょうか? 👀
Rock54: Caution(BBR-MD5:1341adc37120578f18dba9451e6c8c3b)


706:デフォルトの名無しさん
18/10/30 16:47:54.22 mxVOiKCI.net
pycharmでrun/debug configurationのset wowrking directoryに、プログラムを実行したいディレクトリ(pロジェクトのルート外)を入れても、ファイルが見つからないとエラーがでます
ターミナルでは実行可能です
プロジェクトのルート外のディレクトリで実行するにはどうすればいいいか教えて頂きたいです

707:デフォルトの名無しさん
18/10/30 17:27:16.66 o9t78hsF.net
>>670
ちょっと何言ってんだかわかんない。
working directoryは実行するpyhonスクリプトのディレクトリが勝手に入ると思うのだが。
見つからないと言われるファイルは何?
実行するスクリプトから参照しているファイルじゃないの?
図示してくれ。

708:デフォルトの名無しさん
18/10/30 18:23:15.32 LRpQBEf3.net
>>669
前者はクラス名.変数名(ApiError.error)になっているのでクラス変数を参照しようとしている。
故にApiErrorにerrorという名前のクラス変数がなければエラーになる。
後者はインスタンス名.変数名(err.error)になっているのでインスタンス変数を参照しようとしている。
errorはインスタンス変数なのでエラーにならない。

709:653
18/10/30 18:43:42.81 wwkQj2Ri.net
>>672
どうもありがとうございます
dropbox.exceptions.ApiError as err
これって、
dropbox.exceptions.ApiError



710:rrって別名にしただけですよね? ってことは err.errorと dropbox.exceptions.ApiError.error は結局同じ気がするんですが、違うんでしょうか? 違いがわからないです



711:デフォルトの名無しさん
18/10/30 19:22:58.06 LRpQBEf3.net
>>673
違うよ。
ApiErrorはクラス名、errはインスタンス名。
a = MyClass()
って書いたときにMyClassとaは違うものでしょ?それと同じ

712:デフォルトの名無しさん
18/10/30 19:39:22.54 vHVA3ezu.net
except E as N:
と書いてある場合は
"Eが例外オブジェクトのクラスだったら例外をNに代入"
という処理になる
他のasを使った文のようにEの別名をNにする訳ではない

713:デフォルトの名無しさん
18/10/30 23:12:08.40 tLch1bmf.net
普通そういう所に、クラス名など来ない
例外インスタンスが来る

714:デフォルトの名無しさん
18/10/31 00:55:47.26 KgeV0wH8.net
ConvergenceWarning: Liblinear failed to converge, increase the number of iterations.
sklearnでLinearSVCのグリッドサーチするとこの文章が永遠に出てくるんですけどどういうことですか?調べてもわかりませんでした。

715:デフォルトの名無しさん
18/10/31 01:29:09.72 C97UeufF.net
そのままの意味で、毎回の学習が収束まで行ってないからイテレーション回数増やせって事では

716:デフォルトの名無しさん
18/10/31 01:30:14.36 KgeV0wH8.net
>>678
増やしても出てくるんですよね…

717:デフォルトの名無しさん
18/10/31 10:16:21.72 C97UeufF.net
>>679
学習率が大きすぎるとか

718:デフォルトの名無しさん
18/10/31 12:17:11.83 /o0RsUYT.net
1からpythonの勉強始めて、オブジェクト指向とやらで挫折中。
クラスやら継承は何となく理解できて、
どう書けばいいのかも何となくわかるけど、
理解するのに時間がかかりそう。色々なコードを書いて覚えていくしかないのか?
経験者ってここら辺どうなんですか(しっかり理解できているかどうか)

719:デフォルトの名無しさん
18/10/31 13:08:59.03 gqgWGRur.net
関数とかと同じで、クラスも便利だなあと思える具体例や機会があれば使えるようになる
何処か見たアドレス帳を作る例は分かり易そうだったけど、あれは何処だったか
でもクラス使わなくてもプログラムは出来るから直ぐに使えるようにならなくても問題ない

720:デフォルトの名無しさん
18/10/31 13:20:42.47 gqtAU0ur.net
>>681
スクリプターってクラスを使うばっかりで作る方はあんまりって傾向があるから、無問題ではある。
Cも覚えてライブラリ作りも頑張ってほしいかな。
日本のプログラマーの質が問われるから。

721:デフォルトの名無しさん
18/10/31 13:31:11.31 zGg5PO0t.net
日本のプログラマーの質が問われるから。
だってw

722:デフォルトの名無しさん
18/10/31 13:32:03.51 gc+olMws.net
"html54200-0.html#anchor001"
と言う文字列の#の前の数字だけ抽出(542000)したいのですが、どのような正規表現を書けばよいのでしょうか?
([0-9]+)(?=#)
ではだめでした。よろしくお願いします。

723:682
18/10/31 13:35:03.91 gc+olMws.net
書き忘れましたが、現状ではre.findall[54200、 0]と言うリストを取得したあと、
join()で542000にすることを考えていたのですが、アンカーから後を取得すると狂ってしまうので、
アンカーから後は抽出したくないのです。よろしくお願いします。

724:デフォルトの名無しさん
18/10/31 13:40:28.98 fzRw5h8F.net
正規表現とかいらんだろ
str.lstrip("html")
str[:7]

725:デフォルトの名無しさん
18/10/31 13:42:08.67 1NzreX+B.net
re.search("(¥d+).*?(?=#)",s).group(1)

726:デフォルトの名無しさん
18/10/31 13:43:24.16 fzRw5h8F.net
ああそこが欲しいのか
str.lstrip("html")
str[:6].strip("-")

727:デフォルトの名無しさん
18/10/31 13:43:30.37 BEBaW28W.net
>>671
見つからないと言われるファイルはrun/debug configurationのparametersで指定したものです
>>working directoryは実行するpyhonスクリプトのディレクトリが勝手に入る
それをスクリプトを実行したい場所に変更してるんですけど

728:デフォルトの名無しさん
18/10/31 13:45:53.85 0yqa0SvH.net
>>685
(^0-9)|#.* を空文字に置換

729:デフォルトの名無しさん
18/10/31 13:51:38.68 XAA9QXm2.net
>>683-684
2ちゃんや5ちゃんの履歴消すしかないな

730:デフォルトの名無しさん
18/10/31 13:53:01.77 gc+olMws.net
レスありがとうございます。
>>687
これ以外にも似たようなファイルがあるので、できるだけ一般化しておきたいのです正規表現を考えました。
>>688
お教えいただいたところ申し訳ないのですが、Noneとでてしまいました。私の設定のどこかがまずかったのかしれませんが。

731:デフォルトの名無しさん
18/10/31 13:55:03.93 1NzreX+B.net
>>693
¥dの¥はバックスラッシュに直してくれ
[0-9]でもいいよ

732:デフォルトの名無しさん
18/10/31 14:00:41.64 gc+olMws.net
検索する文字列にsplit("#")[0]をつけることを思いつきました。
あんまりスマートじゃないかもしれませんがこれで行こうと思います。
皆さんありがとうございました。

733:デフォルトの名無しさん
18/10/31 14:03:31.31 1NzreX+B.net
>>690
図示してくれるか、何をどうしているのかという全体の構成がわからないと、
何でつまづいているのかがわからない。
parametersにはsys.argvで受け取りたい内容を入れることはわかってるんだよね?

734:デフォルトの名無しさん
18/10/31 14:20:03.17 BEBaW28W.net
>>696
他人の書いたコードがどう動いてるのか理解するためにデバッグしたいと思っていて、全体の構成はよくわかってないんですけど、それだとデバッグはできないってことなんでしかね?
あるファイルが出力される時点で動いてるコードを見たいと思ってるんですけど

735:デフォルトの名無しさん
18/10/31 14:46:51.62 1NzreX+B.net
>>697
イマイチわからんけど、
bashでpythonのscriptに何らかの引数を渡して実行したいって事じゃないの?
そうだとすればbashからの引数がscript parmetersの値で、
pycharmでそのスクリプトを開いてデバッグするだけの事だと思うんだけど違うの?

736:デフォルトの名無しさん
18/10/31 14:54:31.80 BEBaW28W.net
>>698
parameterで渡したはずのファイルがnot found になって困っているんです
で、そのファイルはcontent root 外なので問題なのかなとか思ってるんですけど

737:デフォルトの名無しさん
18/10/31 15:00:36.67 1NzreX+B.net
python側のデバッグ(動作確認)したいだけなら、
引数にこだわらずにダイレクトにファイル指定してやればいいだけだと思うけど?

738:デフォルトの名無しさん
18/10/31 15:27:06.72 BEBaW28W.net
いちいち書き換えないといけないんですかね?
せっかくコマンドライン引数で指定できるようになってるのに

739:デフォルトの名無しさん
18/10/31 15:29:28.35 BEBaW28W.net
>>695
そういう文字列処理はawkとかperlのほうが簡単だよ

740:デフォルトの名無しさん
18/10/31 17:36:50.33 DIssBnZo.net
def gethtml(url, prm=""):
 r = requests.get(url, params=prm)
 r.encoding = 'CP932'
 return r.text
こんな関数でエンコードがCP932(のはずの)サイトを取得して
日本語は普通に表示されてるんですけど
①とか㎞とかが文字化けしてしまいます。どうすれば文字化けを回避できますか?

741:デフォルトの名無しさん
18/10/31 18:12:41.93 taLNwoKn.net
NEC特殊文字が化けてるのか
いま確認環境がないからどうにかできるかはわからん

742:デフォルトの名無しさん
18/10/31 18:28:43.45 XAA9QXm2.net
>>> print('①とか㎞とか')
①とか㎞とか

ちゃんと表示される

743:デフォルトの名無しさん
18/10/31 18:37:40.87 DIssBnZo.net
とりあえず自己解決
対象ページをファイルとして保存した後、codecsで保存したファイルをロードすることで対処できました

744:デフォルトの名無しさん
18/10/31 20:12:08.83 gHBnMNYM.net
epubビューアの開発は順調に進んでるのかな

745:デフォルトの名無しさん
18/10/31 20:40:39.13 /o0RsUYT.net
>>683 >>682
2年間運用(継続中)してます。
所属部署がクラウドに力入れ始めててpython勉強
しと�


746:ッと言われてやってます。取りあえずスクレイピング できるようになりたいのでコード漁ってるんですが関数さえ 使用してないように見えてて、おっしゃる通りなんですかね 最終的に何か作れるようになりたいけど、何も思いつかないし 何を目指したらいいのやら



747:デフォルトの名無しさん
18/11/01 00:22:16.46 PBz6MbCm.net
>>685-695
Ruby なら、File.basename の第2引数に、.* を渡せば、. より前の部分を取れる
file_name = File.basename( "html54200-0.html#anchor001", ".*" )
#=> "html54200-0"
>>708
Ruby で、Selenium WebDriver, Nokogiri を使って、
ブラウザで自動ログインしたり、Showroom のアバターを削除したりしてる
他にも、5ch の書き込み内から、画像のURL だけを拾って表示したり、
主に、ブラウザを使った、webサイトの自動テストに使う
その際のPage Object は、典型的なオブジェクト指向による、テスト方法

748:デフォルトの名無しさん
18/11/01 04:05:25.76 rG6revia.net
>>708
まずはDomを理解汁

749:デフォルトの名無しさん
18/11/01 10:34:25.18 z733lC2q.net
>>708-710
スレチ

750:デフォルトの名無しさん
18/11/01 10:58:02.80 LBGTfI8S.net
>>701
言ってる事が矛盾してるんだけど。
>他人の書いたコードがどう動いてるのか理解するためにデバッグ
>いちいち書き換えないといけないんですかね?
理解すれためなら、一回入力するだけでいちいち書き換える必要はないだろ。

751:デフォルトの名無しさん
18/11/02 23:07:04.01 WjnTpSxg.net
MySQL connectorの使い方を教えてください。
MySQLのTIME型をSELECTしてfetchoneすると、datetime.timedelta型になってしまいます。
datetime.time型で取得するにはどうすれば良いのでしょうか?

752:デフォルトの名無しさん
18/11/03 07:29:30.23 ddSYlxYG.net
>>713
がいしゅつぽ
URLリンク(teratail.com)

753:デフォルトの名無しさん
18/11/03 10:46:05.35 j00DZJyr.net
rawで引っ張って自分でconvertする。
列の仕様がはっきりしているなら、たぶんこれが一番速い。

754:デフォルトの名無しさん
18/11/03 22:09:03.24 +dBdxEJM.net
>>670
まだサポートされていない機能だったらしいです
一応報告
URLリンク(youtrack.jetbrains.com)

755:デフォルトの名無しさん
18/11/03 22:14:11.53 +dBdxEJM.net
pyファイルに引数としてファイル渡して実行しながらデバッグしたいんですけどideでできますか?

756:デフォルトの名無しさん
18/11/04 00:16:25.00 NVjVjeVc.net
さすがにできないと困るでしょう。

757:デフォルトの名無しさん
18/11/04 13:42:02.03 5RY1Lh2I.net
>>714
これあかんやつやω
環境変わったら動かなくなるぞ

758:デフォルトの名無しさん
18/11/04 23:14:32.54 mnXqRc1x.net
Excelの全シートの特定セルから値を抽出したいんですが、
import openpyxl
book = openpyxl.load_workbook('xxx.xlsx')
all_sheet = book.sheetnames
for 抽出 in all_sheet:
print(抽出.cell(row=1, column=1).value)
ってやってもうまくいきません。
ご指導をお願いします。

759:デフォルトの名無しさん
18/11/04 23:33:00.89 H3HfNEok.net
Gmail inboxでメール作成する時、文字の色を替えたり背景色を付けたりは、
Pythonにやらせるのはやはり難しいのでしょうか
例えば文章を[b]と[/)で挟んでも、何事も無く……
ご指導を…m(_ _)m

760:デフォルトの名無しさん
18/11/04 23:45:43.19 f0WItr4A.net
関数の引数の一つをオプションにしたいのですが
デフォルトの値を関数内で決めたいです。例えばイメージ�


761:ニしては def Function(data, average): としてaverageのデフォルトの値を引数dataの平均値にしたいです。 average = np.(data) のようにしてもエラーが出てきます。どのようにすればよいでしょうか?



762:デフォルトの名無しさん
18/11/05 00:12:47.04 WItML0Cb.net
>>720
all_sheet = book.sheetnames

all_sheet = book.worksheets
>>722
やりたいことはよう分らんが
np.(data)

np(data) #.(コンマ)を抜く
とすればエラーが出なくなるんでは

763:デフォルトの名無しさん
18/11/05 00:22:33.69 Forp8UuV.net
>>722
まずエラーメッセージを読む、そしてレスに添え省かない
もしデフォルト引数に書いたなら定義時に評価されるので
None等にしておき呼び出された時に判定して代入するなり

764:デフォルトの名無しさん
18/11/05 00:28:55.36 8OhTTD0N.net
>>722
平均を取るのは np.mean() だと思う。(import numpy as npしてればの話だけど)
関数の引数を他の引数のデフォルト値に設定したりはできないので
def Fucntion(data, average=None):
 if average is None:
   avarage = np.mean(data)
と書くのが普通じゃないかな

765:デフォルトの名無しさん
18/11/05 00:39:16.13 Dut8FIaQ.net
719です。
>>725で解決しました。
ありがとうございました。

766:デフォルトの名無しさん
18/11/05 10:25:00.99 h9xlJLA6.net
Slackでは<{url}|{title}>の形式で書けば、リンクとして表示してくれるので、
slackToken = 'example'
url = 'URLリンク(example.com)<)タイトルです>>>って表示になって、バグってしまいます。
今はとりあえず、text2の最初と最後が<>だったらその文字を削除してるんですが、text2に<>を含んだままSlackに送るにはどうやるんでしょうか?

767:デフォルトの名無しさん
18/11/05 13:32:25.59 o5QGnfIr.net
&lt;
&gt;

768:デフォルトの名無しさん
18/11/05 13:46:32.33 h9xlJLA6.net
どうもありがとうございます!

769:デフォルトの名無しさん
18/11/05 16:48:18.27 0An2vgEj.net
list.__getitemって何を返すんですか?
調べてもわからなかったんで教えてください

770:デフォルトの名無しさん
18/11/05 17:18:39.84 o5QGnfIr.net
a=[1,2,3]
a.__getitem__(1) # 2

771:デフォルトの名無しさん
18/11/05 17:19:31.32 +kDBf8bs.net
>>730
スライスの演算をオーバーロードするメソッドやで

772:デフォルトの名無しさん
18/11/05 18:10:05.24 0An2vgEj.net
>>731
>>732
heapq.nlargest(n, iterable, key=None)のkeyにlist.__getitem__の結果を入れることに、なんの意味があるんでしょうか。

773:デフォルトの名無しさん
18/11/05 18:29:42.84 ll2Vxm5g.net
これのnew = tv[i]っていりますの?
なんかいらないっぽい気がして削っても動いたんだけど
暇で優しい人気が向いたら教えて
tv = ["GOT", "Narcos",
"Vice"]
for i, show in enumerate(tv):
new = tv[i]
new = new.upper()
tv[i] = new

print(tv)
URLリンク(github.com)

774:デフォルトの名無しさん
18/11/05 18:33:34.89 ll2Vxm5g.net
あっれ?この野郎!
本とコードが違うじゃないか
独学プログラマーめ・・・
本だと変数のshowがnewに書き換えられてる

775:デフォルトの名無しさん
18/11/05 23:28:07.21 i/g7f+lV.net
>>727-729
Ruby の、CGI.escapeHTML みたいな、HTML エスケープだろ
Python にも、そういう関数があるはず

776:デフォルトの名無しさん
18/11/06 09:03:03.85 oDFoDpyv.net
>>734
本が何かわからんけど、
forの中はtv[i] = show.upper()だけで大丈夫。

777:デフォルトの名無しさん
18/11/06 11:06:31.30 cQb5p7fE.net
python+gtkでepubビューアを改造している者ですが、
htmlファイルのアンカーのスクロール座標をjavascriptを使わずにpythonだけ取得することはできるんでしょうか?
具体的な用途としては、ブックマークの時のチャプター名や、
Linuxのevince(document viewer)の様に、画面をスクロールして次のチャプターの領域に入ると自動で、
左のチャプターリストビューの選択もそのチャプターのところに移動してほしいのですが、(クリック扱いになると
チャプターの最初に戻されてしまうので、青い選択が移るだけにしたいのです。)
言葉でうまく説明できなくてすみません

778:デフォルトの名無しさん
18/11/06 11:20:08.33 VRf3OGgv.net
>>737
ありがとう!
「独学プログラマー」って本です
これが終わったらdeeplearningの本読んでAI作るんだ・・・道は遠そう

779:デフォルトの名無しさん
18/11/06 17:51:56.07 Zf4d0x7S.net
htmlで
<td class=" "><a href=" ">TEXT</a></td>
のうちの<a href>内の" "の中身だけを取り出すにはどうすればいいですか?

780:デフォルトの名無しさん
18/11/06 19:12:51.68 B9fQWZZ6.net
>>740
何のモジュール使ってhtmlよんでんだよ

セレニウムなら「href属性 取得 selenium python」でググれ

781:724
18/11/06 20:09:21.47 QHiQfJwC.net
724ですけど、変数内に~~や**があるとそれらもSlack側で以下のように反応してしまいました。
~あいうえお~
と波線で囲めば打ち消し線に、
*あいうえお*
だと、太字です。
記号は記号としてポストするにはどうしたらいいんでしょうか?

782:デフォルトの名無しさん
18/11/06 20:13:57.06 B9fQWZZ6.net
*→ *
~→ ~

783:デフォルトの名無しさん
18/11/06 20:14:48.35 B9fQWZZ6.net
(´Д`lll)&to#は半角でな
*→ &#126;
~→ &#42;

784:724
18/11/06 20:28:42.52 QHiQfJwC.net
>>744
どうもありがとうございます!
試してみます!
今のところ分かったのはこの3つなんですが、記号類をまとめてちゃんと表示する仕組みってありますか?
今ちょっとググってたら
xml.sax.saxutilsのescapeだと<>はエスケープしてくれそうな感じでした。

785:デフォルトの名無しさん
18/11/06 20:31:38.28 0p0MEBcD.net
"mrkdwn": false

786:724
18/11/06 20:32:44.30 QHiQfJwC.net
あと、混乱してしまってるんですが、変数textの中にもし<、>、*、~のいずれかが含まれてたら、<、>、&#126;、&#42;に置き換えるには、if文でどう書くんでしょうか?

787:724
18/11/06 20:36:27.93 QHiQfJwC.net
何度もすみません
import xml.sax.saxutils from escape

import htmlのhtml.escape
はどう使い分けるんでしょうか?

788:デフォルトの名無しさん
18/11/06 20:51:13.02 B9fQWZZ6.net
>>747
findを使ってtextを検索し、-1よりでかい数が帰ってくるかどうかためす。
if text.find(’<’) > -1 or text.find(’>’) > -1 or....(略)

789:デフォルトの名無しさん
18/11/06 20:56:52.27 B9fQWZZ6.net
(つづき)
でもってif文のインデントの中に
text=text.replace('before','after').replace('before','after').replace('before','after').replace('before','after')
beforeにはそれぞれ<、>、*、~を入れて
aterには&#42;


790:とかそういうのを書いておく



791:724
18/11/06 20:58:43.90 QHiQfJwC.net
>>749
なるほど!ありがとうございます!
> if text.find(’<’) > -1 or text.find(’>’) > -1 or....(略)
を途中で改行したい場合はどうやるんでしょうか?
バックスラッシュ付けるっぽいんですが、以下だとエラーになります
if text.find(’<’) > -1 or text.find(’>’) > -1 \
or....(略)

792:724
18/11/06 20:59:35.67 QHiQfJwC.net
>>750
ありがとうございます!!

793:デフォルトの名無しさん
18/11/06 21:00:46.35 B9fQWZZ6.net
>>748
前者は基本的に & 、 < 、および > が対象 だが 他の文字もエスケープ汁と命令することが可能
後者は & 、 < 、および > が対象

794:デフォルトの名無しさん
18/11/06 21:08:58.42 0p0MEBcD.net
特殊な記号たち
URLリンク(api.slack.com)

795:724
18/11/06 21:12:17.61 QHiQfJwC.net
>>753
どうもありがとうございます。
例えば、今回みたいに*や~も含めたいって場合なら前者で指定したらよいって事ですね。

796:デフォルトの名無しさん
18/11/06 21:13:16.40 B9fQWZZ6.net
>>751
途中で\入れるのって
pyrhon上で直接コマンド打ってるときだけじゃね?
pyファイルに書いたのを実行させるときはイラネ

797:デフォルトの名無しさん
18/11/06 21:15:03.75 B9fQWZZ6.net
>>755
んだな
詳しくは>>754と URLリンク(docs.python.jp) あたりをよんでくれ

798:724
18/11/06 21:15:09.62 QHiQfJwC.net
>>754
どうもありがとうございます!
他にもいくつかあったんですね。
それらの記号を >>749-750や>>748の前者の方で試してみます

799:724
18/11/06 21:21:01.58 QHiQfJwC.net
>>756
if text.find(’<’) > -1 or text.find(’>’) > -1
or....(略)
だと、エラーになってしまいました。

800:デフォルトの名無しさん
18/11/06 21:21:04.81 B9fQWZZ6.net
>>756
>pyファイルに書いたのを実行させるときはイラネ
oh
オレ無意識に条件文のif以降を()でくくって最後に:付ける癖があるわ
 ↓
if (text.find(’<’) > -1 or
 text.find(’>’) > -1 or
 ....(略) ...):
        ↑
みたいに()でかこってやれば何行にわけてもおk

801:724
18/11/06 21:28:34.65 QHiQfJwC.net
>>760
へぇ~
こんな方法もあるんですか!今試したら動いたけれど、
flask8だとW503 line break before binary operator
って言うエラーが出てました

802:デフォルトの名無しさん
18/11/06 21:33:57.41 B9fQWZZ6.net
>>761
アッハイ
or は 行の最後に書かずに
先頭にかけやこのデコスケ野郎
っていうエラーすね。
つまり推奨は
if (text.find(’<’) > -1
or text.find(’>’) > -1
or ....(略) ...):
汚いソースコードの書き方しててすみまそん。。。

803:デフォルトの名無しさん
18/11/06 21:37:10.20 B9fQWZZ6.net
詳しい解説は URLリンク(github.com) あたりかな

804:724
18/11/06 21:46:50.14 QHiQfJwC.net
>>762
いや、ありがとうございます。。。
2行目を or から始めてもW503でした。あと、E129も出でます。
E129は2行目の or を if の i から数えて8文字インデントしたら消えました。

805:デフォルトの名無しさん
18/11/06 22:02:51.74 B9fQWZZ6.net
>>764
検証してくれるやつのバージョンによって推奨される書き方がちガッ獲るようだ… URLリンク(lintlyci.github.io)
今どきはどーするのが一番正しくてグッドなのか、
誰か他の回答者を待とう (´・ω・`)

806:デフォルトの名無しさん
18/11/07 00:09:47.09 kPzZvNDI.net
>>741
beautifulsoupとurllibっす

807:デフォルトの名無しさん
18/11/07 00:53:42.51 QtFDoqkC.net
>>766
beautifulsoupなら
soup.a['href']
soupはBeautifulSoupオブジェクトな

808:デフォルトの名無しさん
18/11/07 01:15:28.23 +978RLDn.net
>>747



809:Ruby の、CGI.escapeHTML みたいな、HTML エスケープだろ Python にも、そういう関数があるはず。 ライブラリを探せ 全言語にある! Google に「html escape」と入れれば、補完で全言語が出てくる。 php, javascript, java, ruby, python ズラズラっと そういう一般的な関数を、自作したらダメ。 自作したものは、ライブラリよりも品質が低いから



810:デフォルトの名無しさん
18/11/07 01:23:13.15 mTAgM1WN.net
キチガイ避けには「ruby」でNGワード登録が簡単・便利

811:724
18/11/07 10:31:30.88 eBlvm3p7.net
>>757
from xml.sax.saxutils import escape
text = 'あいうえお'
text = f'~{text}~'
text = escape(text, {'*': '&#42;', '~': '&#126;', '': '', '': ''})
上は実際には半角です。
textをSlackに送信すると、Slackでは、~あいうえお~と表示して欲しいんですが、
&#126;あいうえお&#126;
と、表示されてしまいます。
どこが間違えてますか?
あと、
* を置き換える文字列は&#42;(半角で)のように、
` を置き換える文字列
_ を置き換える文字列
ってどうやって調べたらよいんでしょうか?
>>765
自分のバージョンはPython 3.6.4、flake8 3.6.0でした

812:デフォルトの名無しさん
18/11/07 12:02:53.55 gi2gLu8r.net
最低限↓に目を通してからslackの話を続けて貰えるか?
URLリンク(api.slack.com)

813:デフォルトの名無しさん
18/11/07 13:51:51.54 A06G1xNF.net
URLリンク(docs.python.jp)

814:デフォルトの名無しさん
18/11/07 18:19:51.85 aDO62va+.net
URLリンク(dotup.org)
>>> import numpy as np
>>> from PIL import Image
>>> im = Image.open('dotup.org1686239.png')
>>> np.array(im)
>>> np.array(im)[:,-1::-1,:]
>>> Image.fromarray(np.array(im)[:,-1::-1,:]).save('dotup.org1686239_rev.png')
便利やね
python だぁぃすき

815:デフォルトの名無しさん
18/11/07 18:32:37.21 fvfWV4IU.net
conveert dotup.org1686239.png -flop dotup.org1686239_rev.png
ImageMagickのが簡単だよ
チンポ だぁいすき

816:デフォルトの名無しさん
18/11/08 17:18:54.41 vDDK8kog.net
if random.randint(0,1):
step=1
else:
step=-1
この場合のrandom.randintってどういう意味?
乱数で0か1が発生した場合に1、その他の数字のときelseって意味じゃないよね?
よくわからん

817:デフォルトの名無しさん
18/11/08 17:21:04.79 /8FytPr/.net
スクレイピングなんですがjava?でコンテンツが作られている動的なページはSeleniumのようなwebBrowserをさわって値を取るしか無いんでしょうか
vbaで似たようなのを作ったんですが読み込み等が遅く、処理の高速化を考えていたのですがSeleniumだと実現できないでしょうか

818:デフォルトの名無しさん
18/11/08 17:44:25.17 AFbSMZjK.net
random.randintで0がでたらfalse
1が出たらtrueじゃない?

819:デフォルトの名無しさん
18/11/08 18:13:45.79 KFTKKYEO.net
>>777
コード読むとその解釈で合ってると思うけど、そのプロセスが理解できない
randint(a,b)ってa~bの中で整数を生成するんだよね?
randint(0,1)なら0か1のどちらかを生成する
つまりわからん

820:デフォルトの名無しさん
18/11/08 18:30:34.85 AFbSMZjK.net
多分わからないのはbool型についてかな
ちょっと検索して出てきたから読んだらいいかも
URLリンク(note.nkmk.me)

821:デフォルトの名無しさん
18/11/08 18:47:09.00 5iWhW6P3.net
>>778
PyhonのTrue, Falseは


822:0, 1と等価 実際True+Trueを評価すると2になる



823:デフォルトの名無しさん
18/11/08 19:50:06.88 KFTKKYEO.net
TrueとFalseがランダムに生成されるんだろ
つまりif節の中にTrueもFalseも入ってることになんね?

824:デフォルトの名無しさん
18/11/08 19:51:27.62 UKor1bXF.net
ならんよ>>781

825:デフォルトの名無しさん
18/11/08 19:54:09.65 KFTKKYEO.net
俺がアホなのか
全くスッキリと理解できないw

826:デフォルトの名無しさん
18/11/08 20:06:42.76 AFbSMZjK.net
if random.choice([True, False])
こう書き換えれば少しはわかりやすいかな

827:デフォルトの名無しさん
18/11/08 20:21:32.77 KFTKKYEO.net
if random.randint(0,1)==True:
と同じ意味だよね?
これなら簡単に理解できるけど、==Trueがなくても文法として成立するのがよくわからない

828:デフォルトの名無しさん
18/11/08 20:23:05.84 UKor1bXF.net
暗黙の了解で省略されてるだけ
英語の関係代名詞的なさむしん

829:デフォルトの名無しさん
18/11/08 20:30:18.68 KFTKKYEO.net
>>786
マジかよ
人に優しくない言語やんけ!
何時間悩んだと思ってんや

830:デフォルトの名無しさん
18/11/08 20:32:58.15 UKor1bXF.net
もう忘れないだろうから
悩んだことはむだではない
タブンネ

831:デフォルトの名無しさん
18/11/08 21:02:16.60 dNW1RU/q.net
主流言語はみんなそんな感じなんだけどPythonは比較演算子強制でも良かった気もしないでもない。
でも、
bool値を返すisBigメソッドを実装したクラスChinkoがあったとして…
myChinko = new Chinko(16)
if myChinko.isBig():
と自然な英文風に書けるというスゴイ利点もある!
ちなみに12以下だとFalseを返します

832:デフォルトの名無しさん
18/11/08 21:03:49.60 JRn9O86F.net
>>781
1とTrue、0とFalseを同一として認識するのは明らかに間違っている

833:デフォルトの名無しさん
18/11/08 21:04:47.54 j6Jh7/pK.net
自然言語風に書けるのはデメリットやぞ

834:デフォルトの名無しさん
18/11/08 21:15:17.71 dNW1RU/q.net
冗談やで。俺は比較演算強制がよかった

835:デフォルトの名無しさん
18/11/08 21:16:04.42 fqxKHZms.net
ネェ、チンコダッテ?( ´д)オクサン(д` )アラヤダワァ

836:デフォルトの名無しさん
18/11/08 21:53:09.37 QbjXdk8c.net
>>785
==trueとか言うゴミコード書くなよ

837:デフォルトの名無しさん
18/11/08 22:07:08.42 j6Jh7/pK.net
ゴミって些末な事ばかり気にしてゴミコードってゆうよねw

838:デフォルトの名無しさん
18/11/08 22:09:00.10 Sh+rXr23.net
言うをゆうって書く人は初等教育を受けてるのかしら

839:デフォルトの名無しさん
18/11/08 22:14:43.87 j6Jh7/pK.net
言うはゆうて読むんやで

840:デフォルトの名無しさん
18/11/08 22:24:11.22 lbifDjkh.net
誰も読み方について話してないぞ。相当な馬鹿だな

841:デフォルトの名無しさん
18/11/08 22:30:06.41 j6Jh7/pK.net
バカのくせに人の事バカってゆうの恥ずかしいよバカw

842:デフォルトの名無しさん
18/11/08 22:32:56.23 KFTKKYEO.net
ちなみにこういう省略って他にどんなのある?
他の文法で省略あったらまた騙されるなー

843:デフォルトの名無しさん
18/11/08 22:53:42.09 PhR3Qfyw.net
perlはエゲツナイぞー

844:デフォルトの名無しさん
18/11/08 23:07:43.11 QbjXdk8c.net
==Trueが必要だと思う奴はその戻り値に対しても==Trueしとけw

845:デフォルトの名無しさん
18/11/08 23:17:51.55 yMIHOz65.net
the reason why ~ みたいなもんだな

846:デフォルトの名無しさん
18/11/08 23:20:05.30 QHwNiY6E.net
>>776
5ch みたいな動的または、ajax などの非同期処理で、ページの内容を取得しているものは、
その内容が読み込まれるまで、その要素や内容は存在しない
5ch なら、まず空のHTML を送ってくるから、ajax で読み込まれるまで、内容が存在しない
漏れはRuby で、Selenium WebDriver を使って読み込んでいる。
その要素が出現するまで、wait される。
簡単なのは10秒ぐらい、sleep すればよい
5ch なんか、バグが多いから、JavaScript が無限ループしたりして、
30秒待っても、Selenium WebDriverから、そのページへアタッチ出来ないこともある

847:デフォルトの名無しさん
18/11/08 23:22:35.59 a5prroZo.net
「Ruby」でNGワード登録が簡単・便利

848:デフォルトの名無しさん
18/11/08 23:44:41.94 mrd9U+a3.net
50%の確率で2つの処理を選択したい場合によりスマートな書き方はありますか?今はべたべたにこう書いてます
if np.random.rand() > .5:
do1()
else:
do2()

849:デフォルトの名無しさん
18/11/09 02:19:40.37 19dRG8QF.net
(do1 if np.random.rand() > .5 else do2)()

850:デフォルトの名無しさん
18/11/09 04:00:11.42 bq31MDXV.net
すごい!そんな書き方があるのですね。
よければ何という記述方法か教えてもらえますか?(どうやって調べたら出ますか)

851:デフォルトの名無しさん
18/11/09 04:18:51.46 Je0vwCJT.net
np使う理由はあるの?

852:デフォルトの名無しさん
18/11/09 08:30:00.34 0hfWLYYN.net
pycharmでshadows name xxx from outer scopeっていうwarningが出るんだけど、これは何が問題なんや

853:デフォルトの名無しさん
18/11/09 09:42:26.78 VXODTqLC.net
同じ名前の変数が定義されたことで
外のスコープの変数が隠されている
という警告

854:デフォルトの名無しさん
18/11/09 09:43:04.08 VXODTqLC.net
Warningに書いてある通りだな

855:デフォルトの名無しさん
18/11/09 10:18:23.10 19dRG8QF.net
>>808
三項演算子
可読性下がるから使い過ぎはお勧めしない

856:デフォルトの名無しさん
18/11/09 11:58:21.04 p9aTnaT/.net
ちょうど1/2の確率が欲しいとき
if random.rand(0, 1) > .5:
が正解?
それとも
if random.rand(0, 1) >= .5:
が正解?
どっちも間違い?

857:デフォルトの名無しさん
18/11/09 12:04:45.46 mwKVhTqG.net
どっちも間違い
だが少なくとも
random.rand() > .5
では偏りが生じる

858:デフォルトの名無しさん
18/11/09 12:40:54.60 0q7AG6jo.net
>>814
0×1の配列?

859:デフォルトの名無しさん
18/11/09 12:41:31.35 ZavMgXDP.net
Openpyxlでエクセルシートをリスト化した後
シート名を条件に抽出することはできますか?
すみません、調べてもわかりませんでした。

860:デフォルトの名無しさん
18/11/09 13:11:43.28 XhL65g6u.net
>>814俺だったらこうする
if random.randrange(2):
「一定回数抽選すると、AとBの出現率が必ず1:1になる」ことを求めているならシャッフルを使う
a=[0]*50+[1]*50
random.shuffle(a)

861:デフォルトの名無しさん
18/11/09 13:44:15.88 lOOqdq/Y.net
deapのbase.Fitnssでweightsの動き方がよくわからないんですが
仕様を説明したサイトはありますか?

862:デフォルトの名無しさん
18/11/09 13:47:08.53 iep8j/69.net
>>817
シート名は .get_sheet_names()でリストでとってこれるから
とってきたあと
1つ1つのシート名でifすればいいだろ

863:デフォルトの名無しさん
18/11/09 13:49:25.70 iep8j/69.net
>>819
URLリンク(deap.readthedocs.io) はもう読んでる?

864:デフォルトの名無しさん
18/11/09 14:27:01.20 D1KL18mO.net
python2.7 pandasのto_csvでの出力、文字コードについてです
utf8のdfがありコレをsjis(sjisで表現出来ない文字は無視や?置き換えで良い)にしてcsvにしたいです
調べると
with codecs.openでencoding='cp932' errors='ignore'で出力ファイルを開き
df.to_csv(ファイルオブジェクト, encoding='cp932')
で出来ると書いてあったのですが普通にUnicodeエラー出ます
何が原因でうまくいかないんでしょうか、また他の解決法なにかありませんかね

865:デフォルトの名無しさん
18/11/09 15:23:15.00 iep8j/69.net
>>822
ソースコードの文字コードは何で書いてる
OSは何よ
Unicodeエラーの内容は略さず書いて

866:デフォルトの名無しさん
18/11/09 16:18:25.51 aAkZVDrn.net
PythonがWEBで


867:覇権取れば最強のスクリプト言語になるのにな Djangoとかいうゴミはいいから早くRailsとかLaravel並みにいいフレームワーク作ってくんね?



868:デフォルトの名無しさん
18/11/09 17:36:50.37 rwK1ciOK.net
GoogleってWEB開発にPython使ってるらしいけどフレームワークはDjangoなのかな?
社内で別のフレームワーク使ってんだったら公開してほしいな

869:デフォルトの名無しさん
18/11/09 19:22:48.23 lOOqdq/Y.net
>>821
それは読んだんですが多目的最適化で10倍や100倍に設定したら具体的にどう評価を変えているのかが書いていなかったので

870:デフォルトの名無しさん
18/11/09 19:31:33.70 iep8j/69.net
>>826
weights って重み付けだから、
いっぱいのときも逐一自分で指定するもんじゃないの
>多目的最適化で10倍や100倍に設定したら具体的にどう評価を変えているのか
俺にはちょっとなにいってるのかよくわかんない(´・ω・`)
各重みの最適値さがしなら
プロジェクト・しらみつぶし が たぶん一番いい・・・

871:デフォルトの名無しさん
18/11/10 12:15:02.20 seRmY1tJ.net
URLリンク(stackoverflow.com)
repeating_data = reduce(lambda l, x:
l.append(x) or l if x not in l else l,
columns['Hello'], [])
Columns["Hello"] has [1,1,2,3,4,5,6,6,7,8,9,9,10,0]

このlambda式のl.appned(x) or lの"or l"と
if x nor in l else lの"else l"がよくわからないんですが、
つけないとエラーになるので必要なのでしょうが、どのような意味なのでしょうか?

872:825
18/11/10 12:26:13.87 seRmY1tJ.net
質問ばかりで申し訳ないのですが、なぜこの式でreduceを使っているのかもよくわかりません。
reduceでぐぐるとすべて畳み込んで計算すると書いてあるところが多いのですが、関数がl.append(x) or lなので違うのでしょうか?

873:デフォルトの名無しさん
18/11/10 13:07:05.83 u9Es1usX.net
>>828-829
条件式(他言語のいわゆる三項演算子や条件演算子と呼ばれる物の代替)
URLリンク(docs.python.org)
そしてlist.appendの戻り値はNoneなので常にorの右辺が評価され返される
つまり新しいリストに含まれていなければ追加し、さもなければそのまま
あとは先方のレスにもset使えと書かれてると思うけど。reduceの動作は以下
URLリンク(docs.python.org)

874:826
18/11/10 13:46:44.78 seRmY1tJ.net
>>830
丁寧なレスありがとうございます。list.appendの戻り値がNoneだなんて意識しないで使ってました。
破壊的メソッドだからなんだそうですが、自分でもうちょっと勉強してみます。

875:826
18/11/10 15:23:32.40 seRmY1tJ.net
if x not in l else lの"else l"を省略すると
SyntaxError: invalid syntax
が出るんですが、通常のif文の場合はelse以下がなくても問題ないと思うのですが、
なぜこの場合はだめなのでしょうか?

876:デフォルトの名無しさん
18/11/10 15:39:38.87 hLxIIZfE.net
>>832
それは
> if x not in l else l
じゃなくて
> l if x not in l else l
なの
>>830が言う条件式って奴
式1 if 条件 else 式2
で、条件が真と評価されるなら 式1
条件が偽に評価されるなら 式2
を返す
なので else 式2 がないと困っちゃう
(None を返すという選択肢もあったとは思うけど)

877:デフォルトの名無しさん
18/11/10 15:48:08.55 seRmY1tJ.net
>>833
else lのlをNoneにしてみたら、
TypeError: argument of type 'NoneType' is not iterable
とでてしまいました。
でもなんとなく前よりはこの式がわかったような気がします。
どうもレスありがとうございました。

878:デフォルトの名無しさん
18/11/10 17:30:59.29 16GnFLu/.net
>>832
>>830が条件式(他言語に倣って三項演算子と呼ばれることも)だって教えてくれてるじゃん
値1 if 条件 else 値2
条件が真と評価されたら値1を、偽と評価されたら値2を返す

879:デフォルトの名無しさん
18/11/10 18:12:02.74 hLxIIZfE.net
>>828
そもそもこのラムダ式がちょっとトリッキーなんだよね
lambda l, x: l.append(x) or l if x not in l else l
俺なら
def f(l,x):
__if x not in l:
____l.append(x)
__return l
を定義して
repeating_data = reduce(f, columns['Hello'], [])
ってやると思う

880:デフォルトの名無しさん
18/11/10 18:14:37.23 GvdPZ72d.net
>>834
lをNoneにするってのは830の間違い

881:デフォルトの名無しさん
18/11/10 18:59:26.03 8RKiULCU.net
>>833
偽の時は空値返す二項版条件演算子みたいな糞を実装してる言語って何?
有効な使い道が思いつかん

882:デフォルトの名無しさん
18/11/10 19:30:23.53 hLxIIZfE.net
>>838
もっと用途限定だけどC#のnull条件演算子が近いかな

883:デフォルトの名無しさん
18/11/10 19:41:48.00 LcpJu9SU.net
>>839
用途限定どころか目的からして完全に別物

884:デフォルトの名無しさん
18/11/10 20:21:45.94 hLxIIZfE.net
はいはい w

885:デフォルトの名無しさん
18/11/10 20:55:57.38 2vwbQ9QW.net
恥ずかしい奴だな

886:デフォルトの名無しさん
18/11/10 21:43:36.94 Kjka4QLz.net
やっかいなnullを扱いやすくする為に実装された演算子と
偽を受け取ったぐらいで無駄にNoneを返す>>833がかんがえたさいきょうのじょうけんしきなんて別物どころか真逆だよな
実際、Noneを返したんじゃ>>834こうなるだけだし

887:デフォルトの名無しさん
18/11/10 21:48:48.39 zCsM6it1.net
理解できないお前のことだなww

888:デフォルトの名無しさん
18/11/10 21:52:55.81 hLxIIZfE.net
>>843
> やっかいなnullを扱いやすくする為に実装された演算子と
実装の目的と
> 偽を受け取ったぐらいで無駄にNoneを返す>>833
演算子の機能の区別もつかないアホだったのか…
> 実際、Noneを返したんじゃ>>834こうなるだけだし
マジでアホなの?
リスト要求される所にNone与えただけの話だぞ、それ w

889:デフォルトの名無しさん
18/11/10 21:55:57.70 nSd/jMeD.net
Nane「私のためにケンカしないで!!」

890:デフォルトの名無しさん
18/11/10 22:00:38.04 jxhvzDRc.net
>>846
誰だお前は

891:デフォルトの名無しさん
18/11/10 22:04:59.17 4gO6mVIc.net
>>847
ウンコ「おならです」

892:デフォルトの名無しさん
18/11/10 22:06:25.70 hPdKPv7V.net
肛門「よし通れ!」

893:デフォルトの名無しさん
18/11/10 22:10:53.93 aFLDlH5i.net
くだすれ貫禄のくだらなさで不覚にも吹いた

894:デフォルトの名無しさん
18/11/10 22:11:20.00 7gTt1pZ+.net
まだまだ

895:デフォルトの名無しさん
18/11/10 22:19:58.98 WPq8ZeKj.net
判定を失敗すると恐ろしいことになるんだなあ…

896:デフォルトの名無しさん
18/11/10 22:55:34.73 jXgJ1KMY.net
早まってnull条件演算子とかエルビス演算子って言わなくて良かったわ

897:デフォルトの名無しさん
18/11/10 23:22:42.45 sSiPAoa8.net
>>853
そういうのは需要があるから実装されてるんだよ
Noneなんて返されても無駄なチェックコードが増えるだけ
単にelseで適切な値を返すだけでいい

898:デフォルトの名無しさん
18/11/10 23:50:26.34 hLxIIZfE.net
>>854
> 単にelseで適切な値を返すだけでいい
仮定の話しができない低能乙 w

899:デフォルトの名無しさん
18/11/11 08:48:46.33 rNrNUiDF.net
真っ赤っかですな
単芝も紅葉するんだ

900:デフォルトの名無しさん
18/11/11 08:57:40.67 cKV3qXJe.net
低能先生は低能連呼から最終的に殺人に走ったので気をつけてね。

901:デフォルトの名無しさん
18/11/11 10:16:25.06 3JRsWB+V.net
>>857
ソースよろしくww

902:デフォルトの名無しさん
18/11/11 10:30:49.61 ZIQY97Xr.net
URLリンク(ja.wikipedia.org)

903:デフォルトの名無しさん
18/11/11 11:34:11.51 LFgZgESJ.net
へーっ、こんな事件があったんだな
フルボッコされての犯行か
ならまともな反論もできなくなった>>856とか言ってやれよww

904:デフォルトの名無しさん
18/11/11 12:06:11.66 uw9PiA4L.net
この自己愛
同種だな

905:デフォルトの名無しさん
18/11/11 13:13:23.27 3JRsWB+V.net
謎の一体感w
一般人には理解不能

906:デフォルトの名無しさん
18/11/11 13:36:01.34 96wp+TZd.net
>>831
まさか普段ruby使ってる?

907:デフォルトの名無しさん
18/11/11 14:18:08.94 SClia95W.net
ルビバレする用語:
破壊的・非破壊的
クラスメソッド
特異メソッド

908:デフォルトの名無しさん
18/11/11 16:41:23.18 kuiXddTN.net
ファイルに定義されている関数名を知る方法ありますか?
関数名だけです。

909:デフォルトの名無しさん
18/11/11 17:56:29.41 96wp+TZd.net
globals()
locals()

910:デフォルトの名無しさん
18/11/11 23:32:22.24 ARqR0CiK.net
>>831
Ruby ではメソッド名に、! がつく、破壊的メソッドが、nil を返すことがある。
破壊的メソッドとは、レシーバ自身を変更するもの
line.chomp! # 末尾の改行を削除する
line.empty? # 空行かどうか?
chomp! は、末尾に改行が無くて、削除しなかった場合に、nil を返す
line.chomp!.empty?
上記のようにメソッドチェーンすると、nil から、empty? メソッドを呼び出そうとして、
エラーになるから、メソッドチェーンできない
ただし、最近のバージョンでは、nil 許容演算子が追加されて、
メソッドチェーンしてもエラーが起きなくなった
jQuery では、メソッドチェーンしてもエラーが起きない

911:デフォルトの名無しさん
18/11/12 01:26:40.44 BcZUmovG.net
「Ruby」をNGワード登録するのが簡単・便利

912:デフォルトの名無しさん
18/11/12 21:09:17.74 XFjJOyuw.net
pd.read_html(url)で読み込んだテーブルのある列をtable.sort(by= )でソートしたんだけどその結果が
0
1
2
3
4
1
2
3
みたいに微妙な並び替えになっちゃうのはデータにどんな原因があるの?

913:デフォルトの名無しさん
18/11/12 22:43:29.16 ku9n7fSu.net
#シート名取得
all_sh = book.sheetnames
#シート名が「ss」で終わるものを抽出
all_sh_ss = [s for s in all_sh if s.endswith('ss')]
print(all_sh_ss)
・・この後、シート名が「ss」で終わるシートだけから
特定セルA1の値を抽出したいんですが・・・行き詰まりました。
わかる方いたらご助言をお願いします。

914:デフォルトの名無しさん
18/11/12 23:10:34.73 JEwLf6Zk.net
>>870
じゃあ次はその抽出した文字列のリストでWorksheetオブジェクトを取得してみようか

915:デフォルトの名無しさん
18/11/12 23:21:23.98 JEwLf6Zk.net
>>869
read_html(url)で返ってきたリストにそのままソートかけてそう
まずはどんなリストが返ってきてるかそのまま表示してみたら?

916:デフォルトの名無しさん
18/11/13 11:11:30.00 dBAvKT8b.net
829さんじゃありませんが、横レスで関連する質問があります。
URLリンク(stackoverflow.com)


917:ting-a-syntax-error-for-this-conditional-statement You're getting the SyntaxError because you're using a conditional expression without supplying the else clause which is mandatory. The grammar for conditional expressions (i.e if statements in an expression form) always includes an else clause: と書かれていますが、lambda文以外の普通のif statementsの場合、elseがなくても問題がない場合が多々あると思うのですが、 なぜ>>832の例がやこのリンク先の例だとelse以下がないとだめなのでしょうか?



918:デフォルトの名無しさん
18/11/13 11:16:50.29 ULH3fPUf.net
>>873
散々出てるがif文じゃなくて条件式だから

919:870
18/11/13 11:17:02.


920:91 ID:dBAvKT8b.net



921:870
18/11/13 11:42:02.89 dBAvKT8b.net
>>874
どうも失礼しました。公式ページ見たらやっとわかりました。
URLリンク(docs.python.org)
if文
URLリンク(docs.python.org)
条件式
って明確に区別されてるみたいですね。
判別するにはif文の最後に":"があるかないかで判定するのでしょうか?

922:デフォルトの名無しさん
18/11/13 11:49:03.16 dBAvKT8b.net
URLリンク(realpython.com)
ここにif文と条件式の区別について詳しく書いてありました。これで疑問が氷解しました。
どうもくだらない投稿してすみませんでした。

923:デフォルトの名無しさん
18/11/13 12:11:42.35 p27/Ddjo.net
>>876
まぁそれで区別…できなくもないけどPythonに後置if文はないし役割が違う
というより明確に区別されるのは式と文で、式の中に文を書く事は出来ない
>>828みたいなlambda中の条件式はor含めなんとか値を返すための苦肉の策

924:デフォルトの名無しさん
18/11/13 12:36:07.85 X1xMRsix.net
ワンライナー()のために、処理を行うかの切り替えに条件式を悪用してるだけだからすこぶる行儀悪いわな

925:874
18/11/13 12:49:01.67 dBAvKT8b.net
>>878-879
レスありがとうございます。メモとっときます。

926:デフォルトの名無しさん
18/11/13 18:24:15.89 90McxFB4.net
さすがくだすれ

927:デフォルトの名無しさん
18/11/14 08:37:42.04 7XHx6tPI.net
本当に初歩的な質問で申し訳ないのですが
Openpyxlで読み込んだファイル名を出力することはできますか?
シート名、セル値はわかるのですが、ファイル名のやり方がわからなくて、、

928:デフォルトの名無しさん
18/11/14 08:56:30.82 1aZXQx3x.net
>>882
ファイル名のわからないファイルをどうやって読み込んでいるの?

929:デフォルトの名無しさん
18/11/14 09:08:29.36 7XHx6tPI.net
>>883
ファイル名はもちろんわかるんですが
それをセルに出力したいのです。

930:デフォルトの名無しさん
18/11/14 09:08:38.14 yrvGShGp.net
念力

931:デフォルトの名無しさん
18/11/14 09:22:21.28 1aZXQx3x.net
>>884
Openpyxlは触った事ないけど、
調べた感じでは基本は↓でできるんじゃないの?
sheet = openpyxl.Workbook().active
sheet['A1'] = ‘ファイル名’

932:デフォルトの名無しさん
18/11/14 23:27:59.57 2v/yZNsE.net
ドキュメントのsubprocessのところをみると
似たような機能で
getoutput レガシーなシェル呼び出し関数
check_output 古い高水準 API
os.systemよりsubprocessを推奨
となっていて基本runが推奨で
他は使わないほうがいいとかあるんですか?
例えばいずれなくなるからとか。
それとも単にお勧めというだけなのか?
その辺の読み解き方がよくわからないです。

933:デフォルトの名無しさん
18/11/15 00:01:12.02 biHRXo8w.net
安心が欲しいのなら推奨API以外を使うべきではない

934:デフォルトの名無しさん
18/11/15 00:06:22.84 biHRXo8w.net
まあこれは一般論で
os.systemが廃止されることはないと思うし
これまでの経験からしてDeprecatedとマークされてから2バージョンくらい移行期間があるから
仮に無くなるとしても3年くらいは大丈夫だろう
その前にプログラミングに飽きている可能性の方が高い

935:デフォルトの名無しさん
18/11/15 00:52:47.72 1MY0pWfp.net
>>889
ありがとうございました!

936:デフォルトの名無しさん
18/11/15 13:46:36.75 djL3d80k.net
pythonでgui アプリ作るには、tkinterってやつでいいんでしょうか
そもそも作れますか?

937:デフォルトの名無しさん
18/11/15 14:04:46.04 MeEMSEca.net
Qtとかwxpythonとかほかにもあるでよ
できるよ

938:デフォルトの名無しさん
18/11/15 17:29:06.18 djL3d80k.net
ありがとー
3dとかも扱えますかね?

939:デフォルトの名無しさん
18/11/15 18:07:36.78 /yCJioVE.net
>>891
matplotlibはGUIがtkでボタンもメニューも作れる
3Dも完璧

940:デフォルトの名無しさん
18/11/15 18:40:25.34 n3jFLh1o.net
完璧というからには、GPU支援とかも完璧なんだろうな。

941:デフォルトの名無しさん
18/11/15 19:15:13.23 MeEMSEca.net
>>895
あるぉ

942:デフォルトの名無しさん
18/11/15 19:44:19.96 djL3d80k.net
-m tkinter
でtkinterのバージョンを確認できるそうですが、chdirしないとだめなんでしょうか
デフォルトの場所だとinvalid syntaxエラーになります

943:デフォルトの名無しさん
18/11/15 20:08:14.97 MeEMSEca.net
>>897
pythonのバージョンが3系なら
python -m tkinterじゃなくて
py -m tkinterのはずはず

944:デフォルトの名無しさん
18/11/16 17:42:33.52 IxhrRMJp.net
↑ありがとうございました

945:デフォルトの名無しさん
18/11/16 17:42:49.00 IxhrRMJp.net
idleだけで開発できますか?
不十分な点ってどこでしょうか

946:デフォルトの名無しさん
18/11/16 17:43:28.31 IxhrRMJp.net
あと、どういった環境使ってるか教えてください
pycharmというのはおもすぎてきつかったです
とりあえずatomにpython入れてやってます

947:デフォルトの名無しさん
18/11/16 19:30:29.81 no85NK4X.net
起動時間はpycharmの方が掛かるけど、
起動後はatomとかvscodeの方が描画周りとかまったりしてて重いと感じる。
拡張機能もたくさん入れることになるし。

948:デフォルトの名無しさん
18/11/16 19:55:41.74 IxhrRMJp.net
とりあえずidleでやってきます(´・ω

949:デフォルトの名無しさん
18/11/16 20:10:36.27 arJZkCZY.net
おれidleだけでgui開発やってるよ

950:デフォルトの名無しさん
18/11/16 20:15:48.44 IxhrRMJp.net
tkinterってリファレンスないんすか(´;ω
公式がないですがすでに

951:デフォルトの名無しさん
18/11/16 20:23:20.55 arJZkCZY.net
URLリンク(docs.python.org)

952:デフォルトの名無しさん
18/11/17 09:50:58.58 eS8uuMhZ.net
pythonとopneglでblenderみたいなソフト作れますか
植物を自動生成したいだけですが

953:デフォルトの名無しさん
18/11/17 10:03:17.92 FOsw7ObJ.net
ソフトを作らなくてもblenderがpythonに対応している。

954:デフォルトの名無しさん
18/11/17 10:20:48.12 eS8uuMhZ.net
それはそうなんですが、勉強として

955:デフォルトの名無しさん
18/11/17 11:01:18.90 B4GISbTr.net
>>909
できるけど初心者なら
pygameの方が楽

956:デフォルトの名無しさん
18/11/17 12:26:38.54 z9owpr8+.net
>>525 ぺちぷ
<?php
function solve(int $n):int{
$a=0;
for($i=5;$i<=$n;$i*=5)$a+=intdiv($n,$i);
return $a;
}
foreach([1,5,10,1e2,1e6,1e16] as $i)printf("%d -> %d\n",$i,solve($i));
?>
1 -> 0
5 -> 1
10 -> 2
100 -> 24
1000000 -> 249998
10000000000000000 -> 2499999999999996

957:デフォルトの名無しさん
18/11/17 12:27:25.80 z9owpr8+.net
誤爆すまん

958:デフォルトの名無しさん
18/11/17 12:52:15.90 +Lh4qwu/.net
URLリンク(hoge.com)
URLリンク(hoge.com)
1330から1622までの連番の作り方教えて欲しいです
URLリンク(hoge.com)
URLリンク(hoge.com)
もし、2000を超えたら一つ上の階層に1を足してjpgはまた0から数えたいです
やり方教えて下さい!

959:デフォルトの名無しさん
18/11/17 14:26:54.02 xcAZYE+8.net
>>913
糞クローラー作るな
逝ってよし

960:デフォルトの名無しさん
18/11/17 16:36:18.08 Y/z/VfN+.net
もやはサイバーテロだな

961:デフォルトの名無しさん
18/11/17 19:28:23.67 eQWBxdMf.net
おまえは存在がリアルテロやんw

962:デフォルトの名無しさん
18/11/18 00:50:16.86 mGYzq3D+.net
python2.7 ubuntu utf-8
requests使ってpostするんですけど
response.text.encode('utf-8')が文字化けします。
post先のページもutf-8なので文字化けする理由がわからなくて困ってます。
他の原因が考えられるでしょうか?

963:デフォルトの名無しさん
18/11/18 00:52:09.78 RRVp+pUX.net
は?他でない原因はなんやwww
おまえなんも原因の推測しとらんやんけwwwww

964:デフォルトの名無しさん
18/11/18 02:08:45.13 IKIz+EAu.net
Ruby で作った
host_name = "URLリンク(example.com)
ext_name = ".jpg" # 拡張子
dir_name = 3..4 # 3~4 の範囲
base_name = 9..10 # 9~10 の範囲
dir_name.each do | dir_n |
base_name.each do | base_n |
puts "#{ host_name }#{ dir_n }/#{ base_n }#{ ext_name }"
end
end
出力
URLリンク(example.com)
URLリンク(example.com)
URLリンク(example.com)
URLリンク(example.com)

965:デフォルトの名無しさん
18/11/18 02:29:02.25 +Y8H8lPp.net
オブジェクト指向言語のRubyが今大人気!!
世界最大のソフトウェア開発プラットフォームで最も人気なプログラミング言語は何なのか?
URLリンク(gigazine.net)
さすがRuby!貫禄のランクイン!!
Railsで作られたサービスでの集計ということを差し引いてもすごい!

966:デフォルトの名無しさん
18/11/18 09:13:17.46 ZxrLCeZc.net
>>917
response.encoding = response.apparent_encoding
追加してみ

967:デフォルトの名無しさん
18/11/18 13:07:11.78 OtDWWVpG.net
>>919
グロ

968:デフォルトの名無しさん
18/11/19 16:41:17.86 6QwGyqzR.net
PILで画像に対してimage.getdataで値を取得すると、
ImagingCore object at 0x111993790 のようなメモリ上の値が得られますが、
これに類することはjavascriptで出来ますか?

969:デフォルトの名無しさん
18/11/19 18:41:55.53 hzrCQ9gE.net
>>923
javascriptスレできけ案件

970:デフォルトの名無しさん
18/11/19 18:57:29.17 Rj4PyB0Y.net
メモリ上の値じゃなくてアドレス情報だろ

971:デフォルトの名無しさん
18/11/19 19:03:49.34 rVdz2W17.net
だから?
ここPythonスレだよ?

972:デフォルトの名無しさん
18/11/19 20:44:02.95 m6msMsxr.net
超初心者なのですが、pythonでwebの画像を取得する方法がよくわかりません、、、
ggると大量取得のスクリプトは出てくるのですが、
http://~~~.jpgという1枚を保存するにはどうすればいいのでしょうか。
どなたかご教授いただければ嬉しいです。

973:デフォルトの名無しさん
18/11/19 21:05:05.45 rVdz2W17.net
アドレスバーに入れてエンター
右クリック
名前をつけて保存
1枚だけならこうすればいいだけだから出てこないんだと思われる

974:デフォルトの名無しさん
18/11/19 21:10:19.46 m6msMsxr.net
説明が不足してました、失礼
勉強がてら自分でスクリプトを作りたくて
responseとbs4で、1枚目のurlからhttp://~~~.jpgを
抜き取るとこまではできたのですが、そこからのダウンロード方法がよくわからないです
1枚のダウンロード方法が分かり次第for分で回す予定なのですが

975:デフォルトの名無しさん
18/11/19 21:11:32.92 m6msMsxr.net
↑requestの間違いです

976:デフォルトの名無しさん
18/11/19 21:41:38.78 SMn8EX2d.net
r = requests.get('URLリンク(example.com)', stream=True)
with open('eroero.jpg', 'wb') as f:
  while 1:
    bin = r.raw.read(128)
    if not w: break
    f.write(bin)

977:デフォルトの名無しさん
18/11/19 21:45:32.10 hzrCQ9gE.net
>>927
だから糞クローラつくるんじゃねえksg
くたばれ
窓からPC投げ捨てろ

978:デフォルトの名無しさん
18/11/19 21:53:27.71 SMn8EX2d.net
>>931
× if not w: break
○ if not bin: break

979:デフォルトの名無しさん
18/11/19 22:03:04.22 m6msMsxr.net
>>931
ありがとうございます!
wをrに読み替えて実行したところ保存できたけど
処理が終わりませんでしたが、
>>933
で終わりました、勉強になりました!
バイナリ保存をもう少し勉強してみますm(_ _"m)

980:デフォルトの名無しさん
18/11/19 22:20:46.67 OVa0imR9.net
>>934
930のbinとwって単なる変数だからな
openのモードのrwbとがと関係無いからな

981:デフォルトの名無しさん
18/11/19 22:36:23.06 lzm8caWs.net
>>921
ありがとうございます
追加したけどやっぱり文字化けしました

982:デフォルトの名無しさん
18/11/19 22:48:30.82 m6msMsxr.net
>>935
なるほどです

983:デフォルトの名無しさん
18/11/19 23:17:27.92 057j8H5Q.net
ダウンロードして保存するコマンドは、curl, wget

984:デフォルトの名無しさん
18/11/20 00:36:50.22 2X5h674N.net
以下は何をしているのでしょうか?
同じ物を代入したり返しているようにしか見えないです
お助け下さい・・・
URLリンク(github.com)
59行目
cmp = cmp
63行目
def decode(x):
return x

985:デフォルトの名無しさん
18/11/20 05:15:47.87 0YIMqUF3.net
ユーザーに派生クラスを作ってもらうための、ひな形・マーカーメソッドかも。
派生クラスを作らなかった場合の、デフォルトの動作なのかも
例えば、Ruby で抽象(マーカー)メソッドを作れば、
もし派生クラスB で、メソッドa を再定義(override)しなければ、例外をraise するから、
ユーザーは派生クラスで、メソッドa を再定義しなければならない
つまり、プログラマーに注意喚起する印・マーカー
class A
def a
raise NotImplementedError, "未実装です"
end
end
class B < A
end
B.new.a # 未実装です

986:937
18/11/20 05:21:34.81 0YIMqUF3.net
ライブラリの作者は、様々な、decode の実装方法があるから、ひな形だけは作っておくので、
ユーザーは派生クラスで、具体的なdecode の処理を、再定義して使ってください
もし再定義しなければ、何も処理しません

987:デフォルトの名無しさん
18/11/20 10:53:50.60 QMDiuUiOY
実行すると、同じ値しか出てきません。
ランダムで出すにはどうしたらいいですか?
また、ランダムで10回繰り返すとかできるんですか?
よろしくおねがいします。

import random

a = random.randrange(2,5,2)
b = random.randrange(2,9,2)
c = random.randrange(12,61,12)
pm = ['+','-']
printpm = random.choice(pm)

calc = printpm + str(a) + '(' + printpm +str(b) + '×' + printpm + str(c) + ')='
print(calc)
print(calc)


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