[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2ch.scのread.cgiへ]
Update time : 09/16 12:29 / Filesize : 299 KB / Number-of Response : 1055
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

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



1 名前:デフォルトの名無しさん [2018/08/24(金) 07:50:35.97 ID:VD4/++xS.net]
このスレッドは、他のスレッドでは書き込めない超低レベル、
もしくは質問者自身何が何だか分からない質問を勇気を持って書き込むスレッドです。
へび使いが優しくコメントを返しますが、お礼は Python の布教と初心者の救済をお願いします。

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

前スレ
くだすれPython(超初心者用) その38
https://mevius.5ch.net/test/read.cgi/tech/1526522954/

673 名前:教えて下さい!! []
[ここ壊れてます]

674 名前:デフォルトの名無しさん [2018/10/29(月) 11:28:06.05 ID:VxCr7qKV.net]
os.utime

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

676 名前:デフォルトの名無しさん mailto:sage [2018/10/29(月) 11:57:16.03 ID:wR2M4wFA.net]
wget -N url
みたいな事が出来るとよいんですが。

677 名前:デフォルトの名無しさん mailto:sage [2018/10/29(月) 12:28:53.22 ID:20y3T6Cw.net]
httpレスポンスヘッダのlastmodified

678 名前:デフォルトの名無しさん [2018/10/29(月) 12:51:46.14 ID:VtmwN/uo.net]
wget -N url も utime やろ

679 名前:493 mailto:sage [2018/10/29(月) 17:45:54.93 ID: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 名前:デフォルトの名無しさん mailto:sage [2018/10/29(月) 17:46:38.70 ID:k7vAtK/H.net]
関数配置ページ
関数は一ページの変換ミスです。ごめんなさい。

681 名前:デフォルトの名無しさん mailto:sage [2018/10/29(月) 17:50:01.97 ID:dTGmjkHB.net]
https://imgur.com/a/iT18u6W

titleの文字列取得の時はstring付ければよかったけど、最後の奴はstring付けるとエラーになります
こういうときはどうやって文字列だけ抽出するんですか?



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

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

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

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

686 名前:デフォルトの名無しさん mailto:sage [2018/10/29(月) 19:06:12.03 ID:wR2M4wFA.net]
>>641
>>642
もうちょっと教えてくださいお願いします!

687 名前:デフォルトの名無しさん mailto:sage [2018/10/29(月) 19:11:52.05 ID:PoEM5suC.net]
ん? 今、何でもするって言ったよね。

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

689 名前:デフォルトの名無しさん mailto:sage [2018/10/29(月) 21:46:01.91 ID:b4sCrQ/m.net]
>>643
そんな零細プログラムの詳細をここで質問しても誰も答えないと思うぞ…

気が向いたから答えるけど次はないからな。

__save_new_position()メソッドを呼びだしているのはwebviewクラス。
下記ページによると、第二引数はwebview自身、第三引数はwebframeクラスのインスタンスを渡して呼び出されることが分かる。
webframeのリファレンスページを見ればwebframeクラスがget_uri()メソッドを持っていることも分かる。
https://lazka.github.io/pgi-docs/WebKit-3.0/classes/WebView.html#WebKit.WebView.signals.load_finished

content_providerのほうは、指定されたxmlファイルが、chapter_links配列の何番目のファイル名と一致しているかを調べることで、チャプター番号を特定している。
uriがエスケープされていたり"#"フラグメントがついてると比較できないから取り除いている。

690 名前:デフォルトの名無しさん mailto:sage [2018/10/29(月) 21:54:17.26 ID:g2+WGN4L.net]
>>650
一般的にHTTPレスポンスヘッダのLast-Modifiedにファイルのmtimeが入ってるからそれを取得して、ファイル書き出してからmtime更新すれば良い

curl使えるなら-vで一度レスポンスヘッダ見るといい

691 名前:デフォルトの名無しさん mailto:sage [2018/10/29(月) 21:58:45.40 ID:Uyob8jIm.net]
凄いねよく答えられるな、流石

gtkは全く知らないけど
wigetはwidgetのスペルミスだろうね、きっと



692 名前:デフォルトの名無しさん mailto:sage [2018/10/30(火) 06:58:19.30 ID: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 名前:デフォルトの名無しさん mailto:sage [2018/10/30(火) 06:59:46.91 ID:wwkQj2Ri.net]
>>656
print(ast_modified)はprint(last_modified)の間違いです

694 名前:640 mailto:sage [2018/10/30(火) 08:47:23.62 ID:/tw9qCHj.net]
>>653
レスありがとうございます。助かりました。

695 名前:デフォルトの名無しさん mailto:sage [2018/10/30(火) 09:35:33.18 ID:/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 名前:デフォルトの名無しさん mailto:sage [2018/10/30(火) 09:48:16.33 ID:JqsKq037.net]
数値型は数の大小で比較されるが、
文字列型の数値は文字列として比較されるから数の大小順には並ばない
数値として比較したければ、sort(またはsorted)のkey引数に適切なキー抽出関数を与える必要がある

その本だけがと言っているが、条件を満たしていればどんなリストでもお前の言う「おかしなソート」になる
print(sorted('11', '2', '.1'))

697 名前:656 mailto:sage [2018/10/30(火) 10:00:46.78 ID:/tw9qCHj.net]
>>660
ググったらでてきました。文字列型だと10が2より先に来るようですね。
どうもありがとうございました。

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

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

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

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



702 名前:デフォルトの名無しさん [2018/10/30(火) 15:01:43.41 ID:mxVOiKCI.net]
>>664
解決しました
https://stackoverflow.com/questions/27952331/debugging-with-pycharm-terminal-arguments

703 名前:デフォルトの名無しさん mailto:sage [2018/10/30(火) 15:02:59.00 ID:o9t78hsF.net]
>>664
pycharm使ってparametersに引数入れてやればいい。

704 名前:653 mailto:sage [2018/10/30(火) 15:46:23.76 ID:74FRV+Zp.net]
>>662
どうもありがとうございます
基本的に作成日の取得は出来ないんですね

705 名前:653 mailto:sage [2018/10/30(火) 16:13:18.69 ID: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 名前:デフォルトの名無しさん [2018/10/30(火) 16:47:54.22 ID:mxVOiKCI.net]
pycharmでrun/debug configurationのset wowrking directoryに、プログラムを実行したいディレクトリ(pロジェクトのルート外)を入れても、ファイルが見つからないとエラーがでます
ターミナルでは実行可能です
プロジェクトのルート外のディレクトリで実行するにはどうすればいいいか教えて頂きたいです

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

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

後者はインスタンス名.変数名(err.error)になっているのでインスタンス変数を参照しようとしている。
errorはインスタンス変数なのでエラーにならない。

709 名前:653 mailto:sage [2018/10/30(火) 18:43:42.81 ID:wwkQj2Ri.net]
>>672
どうもありがとうございます
dropbox.exceptions.ApiError as err
これって、
dropbox.exceptions.ApiError


710 名前:errって別名にしただけですよね?

ってことは
err.errorと
dropbox.exceptions.ApiError.error
は結局同じ気がするんですが、違うんでしょうか?
違いがわからないです
[]
[ここ壊れてます]

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



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

713 名前:デフォルトの名無しさん mailto:sage [2018/10/30(火) 23:12:08.40 ID:tLch1bmf.net]
普通そういう所に、クラス名など来ない

例外インスタンスが来る

714 名前:デフォルトの名無しさん mailto:sage [2018/10/31(水) 00:55:47.26 ID:KgeV0wH8.net]
ConvergenceWarning: Liblinear failed to converge, increase the number of iterations.

sklearnでLinearSVCのグリッドサーチするとこの文章が永遠に出てくるんですけどどういうことですか?調べてもわかりませんでした。

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

716 名前:デフォルトの名無しさん mailto:sage [2018/10/31(水) 01:30:14.36 ID:KgeV0wH8.net]
>>678
増やしても出てくるんですよね…

717 名前:デフォルトの名無しさん [2018/10/31(水) 10:16:21.72 ID:C97UeufF.net]
>>679
学習率が大きすぎるとか

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

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

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

721 名前:デフォルトの名無しさん [2018/10/31(水) 13:31:11.31 ID:zGg5PO0t.net]
日本のプログラマーの質が問われるから。

だってw



722 名前:デフォルトの名無しさん mailto:sage [2018/10/31(水) 13:32:03.51 ID:gc+olMws.net]
"html54200-0.html#anchor001"

と言う文字列の#の前の数字だけ抽出(542000)したいのですが、どのような正規表現を書けばよいのでしょうか?
([0-9]+)(?=#)
ではだめでした。よろしくお願いします。

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

724 名前:デフォルトの名無しさん mailto:sage [2018/10/31(水) 13:40:28.98 ID:fzRw5h8F.net]
正規表現とかいらんだろ

str.lstrip("html")
str[:7]

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

726 名前:デフォルトの名無しさん mailto:sage [2018/10/31(水) 13:43:24.16 ID:fzRw5h8F.net]
ああそこが欲しいのか

str.lstrip("html")
str[:6].strip("-")

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

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

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

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

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



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

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

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

735 名前:デフォルトの名無しさん mailto:sage [2018/10/31(水) 14:46:51.62 ID:1NzreX+B.net]
>>697
イマイチわからんけど、
bashでpythonのscriptに何らかの引数を渡して実行したいって事じゃないの?

そうだとすればbashからの引数がscript parmetersの値で、
pycharmでそのスクリプトを開いてデバッグするだけの事だと思うんだけど違うの?

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

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

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

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

740 名前:デフォルトの名無しさん mailto:sage [2018/10/31(水) 17:36:50.33 ID:DIssBnZo.net]
def gethtml(url, prm=""):
 r = requests.get(url, params=prm)
 r.encoding = 'CP932'
 return r.text

こんな関数でエンコードがCP932(のはずの)サイトを取得して
日本語は普通に表示されてるんですけど
@とかqとかが文字化けしてしまいます。どうすれば文字化けを回避できますか?

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



742 名前:デフォルトの名無しさん [2018/10/31(水) 18:28:43.45 ID:XAA9QXm2.net]
>>> print('@とかqとか')
@とかqとか


ちゃんと表示される

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

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

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

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

747 名前:デフォルトの名無しさん mailto:sage [2018/11/01(木) 00:22:16.46 ID: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 名前:デフォルトの名無しさん [2018/11/01(木) 04:05:25.76 ID:rG6revia.net]
>>708
まずはDomを理解汁

749 名前:デフォルトの名無しさん [2018/11/01(木) 10:34:25.18 ID:z733lC2q.net]
>>708-710
スレチ

750 名前:デフォルトの名無しさん mailto:sage [2018/11/01(木) 10:58:02.80 ID:LBGTfI8S.net]
>>701
言ってる事が矛盾してるんだけど。
>他人の書いたコードがどう動いてるのか理解するためにデバッグ
>いちいち書き換えないといけないんですかね?

理解すれためなら、一回入力するだけでいちいち書き換える必要はないだろ。

751 名前:デフォルトの名無しさん [2018/11/02(金) 23:07:04.01 ID:WjnTpSxg.net]
MySQL connectorの使い方を教えてください。

MySQLのTIME型をSELECTしてfetchoneすると、datetime.timedelta型になってしまいます。
datetime.time型で取得するにはどうすれば良いのでしょうか?



752 名前:デフォルトの名無しさん mailto:sage [2018/11/03(土) 07:29:30.23 ID:ddSYlxYG.net]
>>713
がいしゅつぽ
ttps://teratail.com/questions/141268

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

754 名前:デフォルトの名無しさん [2018/11/03(土) 22:09:03.24 ID:+dBdxEJM.net]
>>670
まだサポートされていない機能だったらしいです
一応報告
https://youtrack.jetbrains.com/issue/IDEA-88717

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

756 名前:デフォルトの名無しさん mailto:sage [2018/11/04(日) 00:16:25.00 ID:NVjVjeVc.net]
さすがにできないと困るでしょう。

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

758 名前:デフォルトの名無しさん [2018/11/04(日) 23:14:32.54 ID: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 名前:デフォルトの名無しさん mailto:sage [2018/11/04(日) 23:33:00.89 ID:H3HfNEok.net]
Gmail inboxでメール作成する時、文字の色を替えたり背景色を付けたりは、
Pythonにやらせるのはやはり難しいのでしょうか
例えば文章を[b]と[/)で挟んでも、何事も無く……
ご指導を…m(_ _)m

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

761 名前:ニしては

def Function(data, average):

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



762 名前:デフォルトの名無しさん [2018/11/05(月) 00:12:47.04 ID:WItML0Cb.net]
>>720
all_sheet = book.sheetnames

all_sheet = book.worksheets

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

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

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

764 名前:デフォルトの名無しさん mailto:sage [2018/11/05(月) 00:28:55.36 ID:8OhTTD0N.net]
>>722
平均を取るのは np.mean() だと思う。(import numpy as npしてればの話だけど)
関数の引数を他の引数のデフォルト値に設定したりはできないので

def Fucntion(data, average=None):
 if average is None:
   avarage = np.mean(data)

と書くのが普通じゃないかな

765 名前:デフォルトの名無しさん mailto:sage [2018/11/05(月) 00:39:16.13 ID:Dut8FIaQ.net]
719です。
>>725で解決しました。
ありがとうございました。

766 名前:デフォルトの名無しさん mailto:sage [2018/11/05(月) 10:25:00.99 ID:h9xlJLA6.net]
Slackでは<{url}|{title}>の形式で書けば、リンクとして表示してくれるので、

slackToken = 'example'
url = 'example.com'
text1 ='あああああ'
text2 = 'タイトルです'
attText = f'aiueo <{url}|{text2}> kakikukeko'

slackData = {
"username": username,
"channel": channel,
"text": text1,
"attachments": [
{
"color": "#39a6e8",
"text": attText,
"thumb_url": thumbUrl
}
]}

requests.post(slackToken, data=json.dumps(slackData))

こんな感じで、requestsを使ってSlackにおくりたいんですが、
title2の1文字目が「<」で最後の文字が「>」だった場合、
Slack上では何故か aiueo <<example.com<タイトルです>>>って表示になって、バグってしまいます。
今はとりあえず、text2の最初と最後が<>だったらその文字を削除してるんですが、text2に<>を含んだままSlackに送るにはどうやるんでしょうか?

767 名前:デフォルトの名無しさん [2018/11/05(月) 13:32:25.59 ID:o5QGnfIr.net]
&lt;
&gt;

768 名前:デフォルトの名無しさん mailto:sage [2018/11/05(月) 13:46:32.33 ID:h9xlJLA6.net]
どうもありがとうございます!

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

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

771 名前:デフォルトの名無しさん mailto:sage [2018/11/05(月) 17:19:31.32 ID:+kDBf8bs.net]
>>730
スライスの演算をオーバーロードするメソッドやで



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

773 名前:デフォルトの名無しさん mailto:sage [2018/11/05(月) 18:29:42.84 ID: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)

https://github.com/calthoff/self_taught/blob/master/python_ex205.py/

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

775 名前:デフォルトの名無しさん mailto:sage [2018/11/05(月) 23:28:07.21 ID:i/g7f+lV.net]
>>727-729
Ruby の、CGI.escapeHTML みたいな、HTML エスケープだろ

Python にも、そういう関数があるはず

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

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

778 名前:デフォルトの名無しさん mailto:sage [2018/11/06(火) 11:20:08.33 ID:VRf3OGgv.net]
>>737
ありがとう!
「独学プログラマー」って本です

これが終わったらdeeplearningの本読んでAI作るんだ・・・道は遠そう

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

780 名前:デフォルトの名無しさん mailto:sage [2018/11/06(火) 19:12:51.68 ID:B9fQWZZ6.net]
>>740
何のモジュール使ってhtmlよんでんだよ


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

781 名前:724 mailto:sage [2018/11/06(火) 20:09:21.47 ID:QHiQfJwC.net]
724ですけど、変数内に~~や**があるとそれらもSlack側で以下のように反応してしまいました。

~あいうえお~
と波線で囲めば打ち消し線に、
*あいうえお*
だと、太字です。

記号は記号としてポストするにはどうしたらいいんでしょうか?



782 名前:デフォルトの名無しさん mailto:sage [2018/11/06(火) 20:13:57.06 ID:B9fQWZZ6.net]
*→ *
~→ ~

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

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

785 名前:デフォルトの名無しさん [2018/11/06(火) 20:31:38.28 ID:0p0MEBcD.net]
"mrkdwn": false

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

787 名前:724 mailto:sage [2018/11/06(火) 20:36:27.93 ID:QHiQfJwC.net]
何度もすみません
import xml.sax.saxutils from escape

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

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

789 名前:デフォルトの名無しさん mailto:sage [2018/11/06(火) 20:56:52.27 ID:B9fQWZZ6.net]
(つづき)
でもってif文のインデントの中に
text=text.replace('before','after').replace('before','after').replace('before','after').replace('before','after')

beforeにはそれぞれ<、>、*、~を入れて
aterには&#42;

790 名前:とかそういうのを書いておく []
[ここ壊れてます]

791 名前:724 mailto:sage [2018/11/06(火) 20:58:43.90 ID:QHiQfJwC.net]
>>749
なるほど!ありがとうございます!

> if text.find(’<’) > -1 or text.find(’>’) > -1 or....(略)
を途中で改行したい場合はどうやるんでしょうか?
バックスラッシュ付けるっぽいんですが、以下だとエラーになります

if text.find(’<’) > -1 or text.find(’>’) > -1 \
or....(略)



792 名前:724 mailto:sage [2018/11/06(火) 20:59:35.67 ID:QHiQfJwC.net]
>>750
ありがとうございます!!

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

後者は & 、 < 、および > が対象

794 名前:デフォルトの名無しさん [2018/11/06(火) 21:08:58.42 ID:0p0MEBcD.net]
特殊な記号たち
https://api.slack.com/docs/messages/builder?msg=%7B%22text%22%3A%22%60%60%60pre%60%60%60%20*bold*%20%60code%60%20_italic_%20~strike~%22%2C%22username%22%3A%22markdownbot%22%2C%22mrkdwn%22%3Atrue%7D

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

796 名前:デフォルトの名無しさん mailto:sage [2018/11/06(火) 21:13:16.40 ID:B9fQWZZ6.net]
>>751
途中で\入れるのって
pyrhon上で直接コマンド打ってるときだけじゃね?

pyファイルに書いたのを実行させるときはイラネ

797 名前:デフォルトの名無しさん mailto:sage [2018/11/06(火) 21:15:03.75 ID:B9fQWZZ6.net]
>>755
んだな
詳しくは>>754と https://docs.python.jp/3/library/xml.sax.utils.html あたりをよんでくれ

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

799 名前:724 mailto:sage [2018/11/06(火) 21:21:01.58 ID:QHiQfJwC.net]
>>756
if text.find(’<’) > -1 or text.find(’>’) > -1
or....(略)

だと、エラーになってしまいました。

800 名前:デフォルトの名無しさん mailto:sage [2018/11/06(火) 21:21:04.81 ID:B9fQWZZ6.net]
>>756
>pyファイルに書いたのを実行させるときはイラネ
oh
オレ無意識に条件文のif以降を()でくくって最後に:付ける癖があるわ

 ↓
if (text.find(’<’) > -1 or
 text.find(’>’) > -1 or
 ....(略) ...):
        ↑

みたいに()でかこってやれば何行にわけてもおk

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



802 名前:デフォルトの名無しさん mailto:sage [2018/11/06(火) 21:33:57.41 ID:B9fQWZZ6.net]
>>761
アッハイ

or は 行の最後に書かずに
先頭にかけやこのデコスケ野郎

っていうエラーすね。

つまり推奨は
if (text.find(’<’) > -1
or text.find(’>’) > -1
or ....(略) ...):

汚いソースコードの書き方しててすみまそん。。。

803 名前:デフォルトの名無しさん mailto:sage [2018/11/06(火) 21:37:10.20 ID:B9fQWZZ6.net]
詳しい解説は https://github.com/PyCQA/pycodestyle/issues/513 あたりかな

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

805 名前:デフォルトの名無しさん mailto:sage [2018/11/06(火) 22:02:51.74 ID:B9fQWZZ6.net]
>>764
検証してくれるやつのバージョンによって推奨される書き方がちガッ獲るようだ… https://lintlyci.github.io/Flake8Rules/rules/W503.html

今どきはどーするのが一番正しくてグッドなのか、
誰か他の回答者を待とう (´・ω・`)

806 名前:デフォルトの名無しさん mailto:sage [2018/11/07(水) 00:09:47.09 ID:kPzZvNDI.net]
>>741
beautifulsoupとurllibっす

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

808 名前:デフォルトの名無しさん mailto:sage [2018/11/07(水) 01:15:28.23 ID:+978RLDn.net]
>>747


809 名前:Ruby の、CGI.escapeHTML みたいな、HTML エスケープだろ

Python にも、そういう関数があるはず。
ライブラリを探せ

全言語にある!
Google に「html escape」と入れれば、補完で全言語が出てくる。
php, javascript, java, ruby, python ズラズラっと

そういう一般的な関数を、自作したらダメ。
自作したものは、ライブラリよりも品質が低いから
[]
[ここ壊れてます]

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

811 名前:724 mailto:sage [2018/11/07(水) 10:31:30.88 ID: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 名前:デフォルトの名無しさん mailto:sage [2018/11/07(水) 12:02:53.55 ID:gi2gLu8r.net]
最低限↓に目を通してからslackの話を続けて貰えるか?
https://api.slack.com/docs/message-formatting#how_to_escape_characters

813 名前:デフォルトの名無しさん [2018/11/07(水) 13:51:51.54 ID:A06G1xNF.net]
https://docs.python.jp/3/library/html.html

814 名前:デフォルトの名無しさん [2018/11/07(水) 18:19:51.85 ID:aDO62va+.net]
https://dotup.org/uploda/dotup.org1686239.png

>>> 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 名前:デフォルトの名無しさん [2018/11/07(水) 18:32:37.21 ID:fvfWV4IU.net]
conveert dotup.org1686239.png -flop dotup.org1686239_rev.png

ImageMagickのが簡単だよ
チンポ だぁいすき

816 名前:デフォルトの名無しさん mailto:sage [2018/11/08(木) 17:18:54.41 ID:vDDK8kog.net]
if random.randint(0,1):
step=1
else:
step=-1

この場合のrandom.randintってどういう意味?
乱数で0か1が発生した場合に1、その他の数字のときelseって意味じゃないよね?
よくわからん

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

818 名前:デフォルトの名無しさん mailto:sage [2018/11/08(木) 17:44:25.17 ID:AFbSMZjK.net]
random.randintで0がでたらfalse
1が出たらtrueじゃない?

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

820 名前:デフォルトの名無しさん mailto:sage [2018/11/08(木) 18:30:34.85 ID:AFbSMZjK.net]
多分わからないのはbool型についてかな
ちょっと検索して出てきたから読んだらいいかも
https://note.nkmk.me/python-bool-true-false-usage/

821 名前:デフォルトの名無しさん [2018/11/08(木) 18:47:09.00 ID:5iWhW6P3.net]
>>778
PyhonのTrue, Falseは



822 名前:0, 1と等価
実際True+Trueを評価すると2になる
[]
[ここ壊れてます]

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

824 名前:デフォルトの名無しさん mailto:sage [2018/11/08(木) 19:51:27.62 ID:UKor1bXF.net]
ならんよ>>781

825 名前:デフォルトの名無しさん mailto:sage [2018/11/08(木) 19:54:09.65 ID:KFTKKYEO.net]
俺がアホなのか
全くスッキリと理解できないw

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

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

828 名前:デフォルトの名無しさん mailto:sage [2018/11/08(木) 20:23:05.84 ID:UKor1bXF.net]
暗黙の了解で省略されてるだけ
英語の関係代名詞的なさむしん

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

830 名前:デフォルトの名無しさん mailto:sage [2018/11/08(木) 20:32:58.15 ID:UKor1bXF.net]
もう忘れないだろうから
悩んだことはむだではない
タブンネ

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



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

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

834 名前:デフォルトの名無しさん mailto:sage [2018/11/08(木) 21:15:17.71 ID:dNW1RU/q.net]
冗談やで。俺は比較演算強制がよかった

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

836 名前:デフォルトの名無しさん mailto:sage [2018/11/08(木) 21:53:09.37 ID:QbjXdk8c.net]
>>785
==trueとか言うゴミコード書くなよ

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

838 名前:デフォルトの名無しさん mailto:sage [2018/11/08(木) 22:09:00.10 ID:Sh+rXr23.net]
言うをゆうって書く人は初等教育を受けてるのかしら

839 名前:デフォルトの名無しさん [2018/11/08(木) 22:14:43.87 ID:j6Jh7/pK.net]
言うはゆうて読むんやで

840 名前:デフォルトの名無しさん mailto:sage [2018/11/08(木) 22:24:11.22 ID:lbifDjkh.net]
誰も読み方について話してないぞ。相当な馬鹿だな

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



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

843 名前:デフォルトの名無しさん mailto:sage [2018/11/08(木) 22:53:42.09 ID:PhR3Qfyw.net]
perlはエゲツナイぞー

844 名前:デフォルトの名無しさん mailto:sage [2018/11/08(木) 23:07:43.11 ID:QbjXdk8c.net]
==Trueが必要だと思う奴はその戻り値に対しても==Trueしとけw

845 名前:デフォルトの名無しさん mailto:sage [2018/11/08(木) 23:17:51.55 ID:yMIHOz65.net]
the reason why ~ みたいなもんだな

846 名前:デフォルトの名無しさん mailto:sage [2018/11/08(木) 23:20:05.30 ID:QHwNiY6E.net]
>>776
5ch みたいな動的または、ajax などの非同期処理で、ページの内容を取得しているものは、
その内容が読み込まれるまで、その要素や内容は存在しない

5ch なら、まず空のHTML を送ってくるから、ajax で読み込まれるまで、内容が存在しない

漏れはRuby で、Selenium WebDriver を使って読み込んでいる。
その要素が出現するまで、wait される。
簡単なのは10秒ぐらい、sleep すればよい

5ch なんか、バグが多いから、JavaScript が無限ループしたりして、
30秒待っても、Selenium WebDriverから、そのページへアタッチ出来ないこともある

847 名前:デフォルトの名無しさん mailto:sage [2018/11/08(木) 23:22:35.59 ID:a5prroZo.net]
「Ruby」でNGワード登録が簡単・便利

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

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

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

851 名前:デフォルトの名無しさん mailto:sage [2018/11/09(金) 04:18:51.46 ID:Je0vwCJT.net]
np使う理由はあるの?



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

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

854 名前:デフォルトの名無しさん mailto:sage [2018/11/09(金) 09:43:04.08 ID:VXODTqLC.net]
Warningに書いてある通りだな

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

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

857 名前:デフォルトの名無しさん [2018/11/09(金) 12:04:45.46 ID:mwKVhTqG.net]
どっちも間違い

だが少なくとも
random.rand() > .5
では偏りが生じる

858 名前:デフォルトの名無しさん mailto:sage [2018/11/09(金) 12:40:54.60 ID:0q7AG6jo.net]
>>814
0×1の配列?

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

860 名前:デフォルトの名無しさん mailto:sage [2018/11/09(金) 13:11:43.28 ID:XhL65g6u.net]
>>814俺だったらこうする
if random.randrange(2):

「一定回数抽選すると、AとBの出現率が必ず1:1になる」ことを求めているならシャッフルを使う
a=[0]*50+[1]*50
random.shuffle(a)

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



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

863 名前:デフォルトの名無しさん mailto:sage [2018/11/09(金) 13:49:25.70 ID:iep8j/69.net]
>>819
https://deap.readthedocs.io/en/master/api/base.html はもう読んでる?

864 名前:デフォルトの名無しさん mailto:sage [2018/11/09(金) 14:27:01.20 ID: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 名前:デフォルトの名無しさん mailto:sage [2018/11/09(金) 15:23:15.00 ID:iep8j/69.net]
>>822
ソースコードの文字コードは何で書いてる
OSは何よ

Unicodeエラーの内容は略さず書いて

866 名前:デフォルトの名無しさん [2018/11/09(金) 16:18:25.51 ID:aAkZVDrn.net]
PythonがWEBで

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

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

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

870 名前:デフォルトの名無しさん mailto:sage [2018/11/09(金) 19:31:33.70 ID:iep8j/69.net]
>>826
weights って重み付けだから、
いっぱいのときも逐一自分で指定するもんじゃないの

>多目的最適化で10倍や100倍に設定したら具体的にどう評価を変えているのか
俺にはちょっとなにいってるのかよくわかんない(´・ω・`)

各重みの最適値さがしなら
プロジェクト・しらみつぶし が たぶん一番いい・・・

871 名前:デフォルトの名無しさん mailto:sage [2018/11/10(土) 12:15:02.20 ID:seRmY1tJ.net]
https://stackoverflow.com/questions/42866743/lambda-function-explanation/42867119

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 mailto:sage [2018/11/10(土) 12:26:13.87 ID:seRmY1tJ.net]
質問ばかりで申し訳ないのですが、なぜこの式でreduceを使っているのかもよくわかりません。
reduceでぐぐるとすべて畳み込んで計算すると書いてあるところが多いのですが、関数がl.append(x) or lなので違うのでしょうか?

873 名前:デフォルトの名無しさん mailto:sage [2018/11/10(土) 13:07:05.83 ID:u9Es1usX.net]
>>828-829
条件式(他言語のいわゆる三項演算子や条件演算子と呼ばれる物の代替)
https://docs.python.org/ja/3/reference/expressions.html#conditional-expressions
そしてlist.appendの戻り値はNoneなので常にorの右辺が評価され返される

つまり新しいリストに含まれていなければ追加し、さもなければそのまま
あとは先方のレスにもset使えと書かれてると思うけど。reduceの動作は以下
https://docs.python.org/ja/3/library/functools.html#functools.reduce

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

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

876 名前:デフォルトの名無しさん mailto:sage [2018/11/10(土) 15:39:38.87 ID: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 名前:デフォルトの名無しさん mailto:sage [2018/11/10(土) 15:48:08.55 ID:seRmY1tJ.net]
>>833
else lのlをNoneにしてみたら、
TypeError: argument of type 'NoneType' is not iterable
とでてしまいました。
でもなんとなく前よりはこの式がわかったような気がします。
どうもレスありがとうございました。

878 名前:デフォルトの名無しさん mailto:sage [2018/11/10(土) 17:30:59.29 ID:16GnFLu/.net]
>>832
>>830が条件式(他言語に倣って三項演算子と呼ばれることも)だって教えてくれてるじゃん

値1 if 条件 else 値2
条件が真と評価されたら値1を、偽と評価されたら値2を返す

879 名前:デフォルトの名無しさん mailto:sage [2018/11/10(土) 18:12:02.74 ID: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 名前:デフォルトの名無しさん [2018/11/10(土) 18:14:37.23 ID:GvdPZ72d.net]
>>834
lをNoneにするってのは830の間違い

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



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

883 名前:デフォルトの名無しさん mailto:sage [2018/11/10(土) 19:41:48.00 ID:LcpJu9SU.net]
>>839
用途限定どころか目的からして完全に別物

884 名前:デフォルトの名無しさん mailto:sage [2018/11/10(土) 20:21:45.94 ID:hLxIIZfE.net]
はいはい w

885 名前:デフォルトの名無しさん mailto:sage [2018/11/10(土) 20:55:57.38 ID:2vwbQ9QW.net]
恥ずかしい奴だな

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

887 名前:デフォルトの名無しさん mailto:sage [2018/11/10(土) 21:48:48.39 ID:zCsM6it1.net]
理解できないお前のことだなww

888 名前:デフォルトの名無しさん mailto:sage [2018/11/10(土) 21:52:55.81 ID:hLxIIZfE.net]
>>843
> やっかいなnullを扱いやすくする為に実装された演算子と
実装の目的と

> 偽を受け取ったぐらいで無駄にNoneを返す>>833
演算子の機能の区別もつかないアホだったのか…

> 実際、Noneを返したんじゃ>>834こうなるだけだし
マジでアホなの?
リスト要求される所にNone与えただけの話だぞ、それ w

889 名前:デフォルトの名無しさん mailto:sage [2018/11/10(土) 21:55:57.70 ID:nSd/jMeD.net]
Nane「私のためにケンカしないで!!」

890 名前:デフォルトの名無しさん mailto:sage [2018/11/10(土) 22:00:38.04 ID:jxhvzDRc.net]
>>846
誰だお前は

891 名前:デフォルトの名無しさん mailto:sage [2018/11/10(土) 22:04:59.17 ID:4gO6mVIc.net]
>>847
ウンコ「おならです」



892 名前:デフォルトの名無しさん mailto:sage [2018/11/10(土) 22:06:25.70 ID:hPdKPv7V.net]
肛門「よし通れ!」

893 名前:デフォルトの名無しさん mailto:sage [2018/11/10(土) 22:10:53.93 ID:aFLDlH5i.net]
くだすれ貫禄のくだらなさで不覚にも吹いた

894 名前:デフォルトの名無しさん [2018/11/10(土) 22:11:20.00 ID:7gTt1pZ+.net]
まだまだ

895 名前:デフォルトの名無しさん mailto:sage [2018/11/10(土) 22:19:58.98 ID:WPq8ZeKj.net]
判定を失敗すると恐ろしいことになるんだなあ…

896 名前:デフォルトの名無しさん mailto:sage [2018/11/10(土) 22:55:34.73 ID:jXgJ1KMY.net]
早まってnull条件演算子とかエルビス演算子って言わなくて良かったわ

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

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

899 名前:デフォルトの名無しさん mailto:sage [2018/11/11(日) 08:48:46.33 ID:rNrNUiDF.net]
真っ赤っかですな
単芝も紅葉するんだ

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

901 名前:デフォルトの名無しさん mailto:sage [2018/11/11(日) 10:16:25.06 ID:3JRsWB+V.net]
>>857
ソースよろしくww



902 名前:デフォルトの名無しさん mailto:sage [2018/11/11(日) 10:30:49.61 ID:ZIQY97Xr.net]
ttps://ja.wikipedia.org/wiki/%E7%A6%8F%E5%B2%A1IT%E8%AC%9B%E5%B8%AB%E6%AE%BA%E5%AE%B3%E4%BA%8B%E4%BB%B6

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

904 名前:デフォルトの名無しさん mailto:sage [2018/11/11(日) 12:06:11.66 ID:uw9PiA4L.net]
この自己愛
同種だな

905 名前:デフォルトの名無しさん mailto:sage [2018/11/11(日) 13:13:23.27 ID:3JRsWB+V.net]
謎の一体感w
一般人には理解不能

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

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

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

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

910 名前:デフォルトの名無しさん mailto:sage [2018/11/11(日) 23:32:22.24 ID:ARqR0CiK.net]
>>831
Ruby ではメソッド名に、! がつく、破壊的メソッドが、nil を返すことがある。
破壊的メソッドとは、レシーバ自身を変更するもの

line.chomp! # 末尾の改行を削除する
line.empty? # 空行かどうか?

chomp! は、末尾に改行が無くて、削除しなかった場合に、nil を返す

line.chomp!.empty?

上記のようにメソッドチェーンすると、nil から、empty? メソッドを呼び出そうとして、
エラーになるから、メソッドチェーンできない

ただし、最近のバージョンでは、nil 許容演算子が追加されて、
メソッドチェーンしてもエラーが起きなくなった

jQuery では、メソッドチェーンしてもエラーが起きない

911 名前:デフォルトの名無しさん mailto:sage [2018/11/12(月) 01:26:40.44 ID:BcZUmovG.net]
「Ruby」をNGワード登録するのが簡単・便利



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

913 名前:デフォルトの名無しさん [2018/11/12(月) 22:43:29.16 ID: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 名前:デフォルトの名無しさん [2018/11/12(月) 23:10:34.73 ID:JEwLf6Zk.net]
>>870
じゃあ次はその抽出した文字列のリストでWorksheetオブジェクトを取得してみようか

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

916 名前:デフォルトの名無しさん mailto:sage [2018/11/13(火) 11:11:30.00 ID:dBAvKT8b.net]
829さんじゃありませんが、横レスで関連する質問があります。

https://stackoverflow.com/questions/38417677/why-am-i-get

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 名前:デフォルトの名無しさん mailto:sage [2018/11/13(火) 11:16:50.29 ID:ULH3fPUf.net]
>>873
散々出てるがif文じゃなくて条件式だから

919 名前:870 mailto:sage [2018/11/13(火) 11:17:02. ]
[ここ壊れてます]

920 名前:91 ID:dBAvKT8b.net mailto: 大事なこと書き忘れました。
リンク先読むとこのスレでも指摘されているように三項演算子なのでelseが必要とのことですが、
普通のif文と三項演算子ってどう区別すれば良いのですか?
[]
[ここ壊れてます]

921 名前:870 mailto:sage [2018/11/13(火) 11:42:02.89 ID:dBAvKT8b.net]
>>874
どうも失礼しました。公式ページ見たらやっとわかりました。
https://docs.python.org/ja/3/reference/compound_stmts.html#if
if文
https://docs.python.org/ja/3/reference/expressions.html#index-83
条件式
って明確に区別されてるみたいですね。
判別するにはif文の最後に":"があるかないかで判定するのでしょうか?



922 名前:デフォルトの名無しさん mailto:sage [2018/11/13(火) 11:49:03.16 ID:dBAvKT8b.net]
https://realpython.com/python-conditional-statements/#conditional-expressions

ここにif文と条件式の区別について詳しく書いてありました。これで疑問が氷解しました。
どうもくだらない投稿してすみませんでした。

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

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

925 名前:874 mailto:sage [2018/11/13(火) 12:49:01.67 ID:dBAvKT8b.net]
>>878-879
レスありがとうございます。メモとっときます。

926 名前:デフォルトの名無しさん [2018/11/13(火) 18:24:15.89 ID:90McxFB4.net]
さすがくだすれ

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

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

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

930 名前:デフォルトの名無しさん mailto:sage [2018/11/14(水) 09:08:38.14 ID:yrvGShGp.net]
念力

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



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

933 名前:デフォルトの名無しさん mailto:sage [2018/11/15(木) 00:01:12.02 ID:biHRXo8w.net]
安心が欲しいのなら推奨API以外を使うべきではない

934 名前:デフォルトの名無しさん mailto:sage [2018/11/15(木) 00:06:22.84 ID:biHRXo8w.net]
まあこれは一般論で
os.systemが廃止されることはないと思うし
これまでの経験からしてDeprecatedとマークされてから2バージョンくらい移行期間があるから
仮に無くなるとしても3年くらいは大丈夫だろう

その前にプログラミングに飽きている可能性の方が高い

935 名前:デフォルトの名無しさん mailto:sage [2018/11/15(木) 00:52:47.72 ID:1MY0pWfp.net]
>>889
ありがとうございました!

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

937 名前:デフォルトの名無しさん mailto:sage [2018/11/15(木) 14:04:46.04 ID:MeEMSEca.net]
Qtとかwxpythonとかほかにもあるでよ

できるよ

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

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

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

941 名前:デフォルトの名無しさん mailto:sage [2018/11/15(木) 19:15:13.23 ID:MeEMSEca.net]
>>895
あるぉ



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

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

944 名前:デフォルトの名無しさん [2018/11/16(金) 17:42:33.52 ID:IxhrRMJp.net]
↑ありがとうございました

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

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

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

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

949 名前:デフォルトの名無しさん mailto:sage [2018/11/16(金) 20:10:36.27 ID:arJZkCZY.net]
おれidleだけでgui開発やってるよ

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

951 名前:デフォルトの名無しさん mailto:sage [2018/11/16(金) 20:23:20.55 ID:arJZkCZY.net]
ttps://docs.python.org/ja/3/library/tkinter.html



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

953 名前:デフォルトの名無しさん mailto:sage [2018/11/17(土) 10:03:17.92 ID:FOsw7ObJ.net]
ソフトを作らなくてもblenderがpythonに対応している。

954 名前:デフォルトの名無しさん [2018/11/17(土) 10:20:48.12 ID:eS8uuMhZ.net]
それはそうなんですが、勉強として

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

956 名前:デフォルトの名無しさん [2018/11/17(土) 12:26:38.54 ID: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 名前:デフォルトの名無しさん [2018/11/17(土) 12:27:25.80 ID:z9owpr8+.net]
誤爆すまん

958 名前:デフォルトの名無しさん mailto:sage [2018/11/17(土) 12:52:15.90 ID:+Lh4qwu/.net]
https://hoge.com/3/1330.jpg
https://hoge.com/3/1622.jpg

1330から1622までの連番の作り方教えて欲しいです

https://hoge.com/3/1330.jpg
https://hoge.com/4/5.jpg

もし、2000を超えたら一つ上の階層に1を足してjpgはまた0から数えたいです

やり方教えて下さい!

959 名前:デフォルトの名無しさん mailto:sage [2018/11/17(土) 14:26:54.02 ID:xcAZYE+8.net]
>>913
糞クローラー作るな
逝ってよし

960 名前:デフォルトの名無しさん mailto:sage [2018/11/17(土) 16:36:18.08 ID:Y/z/VfN+.net]
もやはサイバーテロだな

961 名前:デフォルトの名無しさん [2018/11/17(土) 19:28:23.67 ID:eQWBxdMf.net]
おまえは存在がリアルテロやんw



962 名前:デフォルトの名無しさん mailto:sage [2018/11/18(日) 00:50:16.86 ID:mGYzq3D+.net]
python2.7 ubuntu utf-8

requests使ってpostするんですけど
response.text.encode('utf-8')が文字化けします。
post先のページもutf-8なので文字化けする理由がわからなくて困ってます。
他の原因が考えられるでしょうか?

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

964 名前:デフォルトの名無しさん mailto:sage [2018/11/18(日) 02:08:45.13 ID:IKIz+EAu.net]
Ruby で作った

host_name = "https://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

出力
https://example.com/3/9.jpg
https://example.com/3/10.jpg
https://example.com/4/9.jpg
https://example.com/4/10.jpg

965 名前:デフォルトの名無しさん [2018/11/18(日) 02:29:02.25 ID:+Y8H8lPp.net]
オブジェクト指向言語のRubyが今大人気!!

世界最大のソフトウェア開発プラットフォームで最も人気なプログラミング言語は何なのか?
https://gigazine.net/news/20181116-top-programming-languages-2018/

さすがRuby!貫禄のランクイン!!
Railsで作られたサービスでの集計ということを差し引いてもすごい!

966 名前:デフォルトの名無しさん [2018/11/18(日) 09:13:17.46 ID:ZxrLCeZc.net]
>>917
response.encoding = response.apparent_encoding

追加してみ

967 名前:デフォルトの名無しさん mailto:sage [2018/11/18(日) 13:07:11.78 ID:OtDWWVpG.net]
>>919
グロ

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

969 名前:デフォルトの名無しさん mailto:sage [2018/11/19(月) 18:41:55.53 ID:hzrCQ9gE.net]
>>923
javascriptスレできけ案件

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

971 名前:デフォルトの名無しさん [2018/11/19(月) 19:03:49.34 ID:rVdz2W17.net]
だから?
ここPythonスレだよ?



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

973 名前:デフォルトの名無しさん [2018/11/19(月) 21:05:05.45 ID:rVdz2W17.net]
アドレスバーに入れてエンター
右クリック
名前をつけて保存

1枚だけならこうすればいいだけだから出てこないんだと思われる

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

975 名前:デフォルトの名無しさん [2018/11/19(月) 21:11:32.92 ID:m6msMsxr.net]
↑requestの間違いです

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

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

978 名前:デフォルトの名無しさん mailto:sage [2018/11/19(月) 21:53:27.71 ID:SMn8EX2d.net]
>>931
× if not w: break
○ if not bin: break

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

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

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



982 名前:デフォルトの名無しさん [2018/11/19(月) 22:48:30.82 ID:m6msMsxr.net]
>>935
なるほどです

983 名前:デフォルトの名無しさん mailto:sage [2018/11/19(月) 23:17:27.92 ID:057j8H5Q.net]
ダウンロードして保存するコマンドは、curl, wget

984 名前:デフォルトの名無しさん mailto:sage [2018/11/20(火) 00:36:50.22 ID:2X5h674N.net]
以下は何をしているのでしょうか?
同じ物を代入したり返しているようにしか見えないです
お助け下さい・・・

https://github.com/Theano/Theano/blob/master/theano/compat/__init__.py

59行目
cmp = cmp

63行目
def decode(x):
return x

985 名前:デフォルトの名無しさん mailto:sage [2018/11/20(火) 05:15:47.87 ID: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 mailto:sage [2018/11/20(火) 05:21:34.81 ID:0YIMqUF3.net]
ライブラリの作者は、様々な、decode の実装方法があるから、ひな形だけは作っておくので、
ユーザーは派生クラスで、具体的なdecode の処理を、再定義して使ってください

もし再定義しなければ、何も処理しません

987 名前:デフォルトの名無しさん [2018/11/20(火) 10:53:50.60 ID: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)

988 名前:デフォルトの名無しさん mailto:sage [2018/11/20(火) 09:32:49.23 ID:2X5h674N.net]
>>940-941
ありがとうございました、そういう事だったのですね

989 名前:デフォルトの名無しさん mailto:sage [2018/11/20(火) 12:30:52.12 ID:xneveUXp.net]
>>943
いやそれ間違ってるから。

python2、python3両方で使えるようにそれぞれメソッドが定義してあって、
たまたまpython2のほうは演算する必要がないから引数をそのまま返しているだけ。

そいつはマ板で有名なpython知らないruby荒らしだから無視したほうがいいよ

990 名前:デフォルトの名無しさん [2018/11/20(火) 13:05:13.83 ID:ZtIBLsed.net]
>>940
さすがRuby!
圧倒的ランクイン!!

https://gigazine.net/news/20181116-top-programming-languages-2018/
https://www.softantenna.com/wp/software/the-state-of-the-octoverse-2018/
https://www.softantenna.com/wp/software/ieee-spectrum-top-programming-languages-2018/
https://findy-code.io/engineer-lab/github-programming-language-ranking
https://i.imgur.com/0YbMsqj.jpg

991 名前:デフォルトの名無しさん [2018/11/20(火) 13:34:07.29 ID:jmuJusIM.net]
https://docs.python.org/ja/3/library/exceptions.html#NotImplementedError
https://docs.python.org/ja/3/library/constants.html



992 名前:デフォルトの名無しさん mailto:sage [2018/11/20(火) 1 ]
[ここ壊れてます]

993 名前:6:39:53.72 ID:5NbKWroI.net mailto: >>936
しぇばん、importが済んだ後あたりに

import sys
reload(sys)
sys.setdefaultencoding('utf-8')

って書いてみて
[]
[ここ壊れてます]

994 名前:デフォルトの名無しさん mailto:sage [2018/11/20(火) 19:08:18.20 ID:PIfvSzhu.net]
ディレクトリ内に
aaa_000.txt
aaa_001.txt
  :
aaa_100.txt てな感じでファイルが保存されてたとします。
aaa_000.txt以外をglob.glob()で一覧化して取り出したいんですが
glob.globの引数に指定する正規表現、どうすればいけますでしょうか???

995 名前:デフォルトの名無しさん mailto:sage [2018/11/20(火) 19:13:57.66 ID:5NbKWroI.net]
!(^000$) じゃね?

996 名前:デフォルトの名無しさん mailto:sage [2018/11/20(火) 19:15:38.40 ID:5NbKWroI.net]
禿しくまちがってた

^(?!000)$

997 名前:デフォルトの名無しさん mailto:sage [2018/11/20(火) 19:52:04.79 ID:PIfvSzhu.net]
import glob
l = glob.glob(r"^(?!000)$")
print(l)
こうですか? なんかダメみたいです(´・ω・`)

l = glob.glob(r"aaa_(?!000)$")
l = glob.glob(r"*(?!000)$")   も試してみましたがダメでした。

998 名前:デフォルトの名無しさん mailto:sage [2018/11/20(火) 20:46:06.89 ID:eXMfunJO.net]
素直にre使ってりゃ1分で終わってたな

999 名前:デフォルトの名無しさん mailto:sage [2018/11/20(火) 20:48:08.12 ID:d/DSkvWp.net]
globは正規表現使えないぞ。
使えるのはワイルドカードだけ

1000 名前:デフォルトの名無しさん mailto:sage [2018/11/20(火) 20:48:55.37 ID:5NbKWroI.net]
んんんんn…
l = glob.glob(r"aaa_(?!000)[0-9]*\.txt")
でどうよ

1001 名前:デフォルトの名無しさん mailto:sage [2018/11/20(火) 20:49:50.73 ID:5NbKWroI.net]
>>953
mjd

>>951
全部取り出してから
そのリストから
aaa_000.txtだけさくーじょするのが早い(´・ω・`)



1002 名前:デフォルトの名無しさん mailto:sage [2018/11/20(火) 20:51:12.06 ID:+8Izpd7U.net]
>>955
その方が後から見てわかりやすいしな

1003 名前:デフォルトの名無しさん mailto:sage [2018/11/20(火) 21:05:36.49 ID:5mSMf66i.net]
あああ、mjdって「マジで」かー

1004 名前:デフォルトの名無しさん mailto:sage [2018/11/20(火) 21:13:03.42 ID:aqI13PjQ.net]
いくらくだすれとはいえこんな頭のおかしい奴が回答者だとは…

1005 名前:デフォルトの名無しさん mailto:sage [2018/11/20(火) 21:13:50.48 ID:5NbKWroI.net]
初心者の
初心者による
初心者のための
互助すれ

1006 名前:デフォルトの名無しさん mailto:sage [2018/11/20(火) 21:15:21.06 ID:yKairBEQ.net]
[x for x in glob.glob() if int("".join(re.findall("\d", x))) > 0]
でいけるかな
ファイル名が決め打ちで分かってるなら
[x for x in glob.glob() if int(x.replace("aaa_","").replace(".txt","")) > 0]
でもいける
でも今日日os.scandir()とかあるのにglob使う必要性はないと思う

1007 名前:デフォルトの名無しさん mailto:sage [2018/11/20(火) 21:15:59.61 ID:3m3Squu1.net]
Pythonのtime sleepとcrontabのコードって相性悪くない?

1008 名前:デフォルトの名無しさん mailto:sage [2018/11/20(火) 21:19:44.13 ID:5NbKWroI.net]
俺の環境(python2.7 Win7(XPからのアプデ))では
time sleepは常にラグい (`・ω・´)キリッ

1009 名前:デフォルトの名無しさん mailto:sage [2018/11/20(火) 21:22:17.92 ID:yKairBEQ.net]
[x for x in glob.glob() if {y for y in x if y.isdigit() and y != "0"}]
が一番スマート()か

1010 名前:デフォルトの名無しさん [2018/11/20(火) 21:36:20.21 ID:lC+kMZiu.net]
glob.glob('aaa_*.txt').remove('aaa_000.txt')

1011 名前:デフォルトの名無しさん mailto:sage [2018/11/20(火) 21:46:55.78 ID:PIfvSzhu.net]
>>960
>>963
サンクス、コピペしたけど動かなかったので諦めました

>でも今日日os.scandir()とかあるのにglob使う必要性はないと思う
os.scandir ←これ知らんかたわw これでなんとかなりそうですw


>>964

           .-´    ``ヽ   
          /  ヽー     `ヽ
         / ノ    (O )ノ ̄ ̄`ヽ、―ニ  
        / (●) __)⌒/ ´`ヽ _  三,:三ー三,:
        | ::⌒(__ノ/  ノヽ--/ ̄ ,    `   ` ̄ ̄ ̄
       。ヽ 。   )(  }.  ...|  /!    
          ヽo (__ン  }、ー‐し'ゝL _  
         



1012 名前:人  ー   jr--‐‐'´}    ;ーー------
        /        ヾ---‐'ーr‐'"==
                    |
[]
[ここ壊れてます]

1013 名前:デフォルトの名無しさん [2018/11/20(火) 22:15:47.35 ID:lC+kMZiu.net]
>>964
何でダメなのかわからんかったけどremoveメソッドはNoneを返すんだな

x = glob.glob('aaa_*.txt')
x.remove('aaa_000.txt')

>>965
ごめんね

1014 名前:デフォルトの名無しさん mailto:sage [2018/11/21(水) 01:45:07.75 ID:yscr9wE/.net]
Ruby で、配列の差集合を使った

ary = Dir.glob( 'aaa_*.txt' ) - [ 'aaa_000.txt' ]

1015 名前:デフォルトの名無しさん [2018/11/21(水) 02:04:45.67 ID:ILAAUKO6.net]
Rubyが大人気!Rubyが大人気!
学ぶ価値がある大人気言語Ruby!!

https://gigazine.net/news/20181116-top-programming-languages-2018/
https://www.softantenna.com/wp/software/the-state-of-the-octoverse-2018/
https://www.softantenna.com/wp/software/ieee-spectrum-top-programming-languages-2018/
https://findy-code.io/engineer-lab/github-programming-language-ranking
https://i.imgur.com/0YbMsqj.jpg

1016 名前:デフォルトの名無しさん mailto:sage [2018/11/21(水) 18:00:19.78 ID:/haBP7x7.net]
なぜpathlib使わないのか

1017 名前:デフォルトの名無しさん [2018/11/21(水) 18:42:34.45 ID:vOPCMSrj.net]
bashからpythonのCGIプログラムを実行するときにGETパラメータを渡す方法を教えてください。

1018 名前:デフォルトの名無しさん mailto:sage [2018/11/21(水) 20:05:39.22 ID:NMvk2xsS.net]
get1=get1_val
get2=get2_val
が渡したいとすると

url="example.com/cgi-bin/recv.php?get1=get1_val&get2=get2_val"
curl $url

1019 名前:デフォルトの名無しさん mailto:sage [2018/11/21(水) 20:07:16.16 ID:NMvk2xsS.net]
example.com/cgi-bin/recv.php

pythonのcgiを置いて動かしてるアドレスに読み替えてくれ

1020 名前:デフォルトの名無しさん mailto:sage [2018/11/21(水) 20:07:21.27 ID:vOPCMSrj.net]
デバックしたいです。

1021 名前:デフォルトの名無しさん mailto:sage [2018/11/21(水) 20:14:02.86 ID:NMvk2xsS.net]
pythonのCGIン中のimportんところの最後に

import cgitb
cgitb.enable()

と書け

デバッグが終わったら消すのを忘れるな
忘れるとたいへんなことがおきる



1022 名前:デフォルトの名無しさん mailto:sage [2018/11/21(水) 20:16:30.77 ID:NMvk2xsS.net]
>>971-972 あとで見返す人も居ないと思うがもうちょっとわかりやすく書いておこう

get1としてget1_val
get2としてget2_val
が渡したい


Apacheなんかでlocalhostを動かしていて
bash-cgiふぉるだんなかに
ターゲットとなるhoge.cgiが置いてある
とすると

url="localhost/bash-cgi/hoge.cgi?get1=get1_val&get2=get2_val"
curl $url

1023 名前:デフォルトの名無しさん [2018/11/21(水) 20:50:52.10 ID:jrFgFGaV.net]
‘/home/hoge/foo/*.txt’ みたいなパスが与えられてglobしたい時って、pathlibだと一度切り分けて
Path(‘/home/hoge/foo’).glob(‘*.txt’)
とするしか無い?
glob.globなら最初のパスを丸ごと与えて終わるけど

1024 名前:デフォルトの名無しさん [2018/11/21(水) 21:06:34.58 ID:JM/nMfDs.net]
pathlib使わんくてもええんやで?なにに追い立てられとるんやおまえら?

1025 名前:デフォルトの名無しさん mailto:sage [2018/11/22(木) 00:08:45.16 ID:VnO3ZoaR.net]
Ruby では、絶対・相対パスの両方が使えるよ

Dir.glob( 'C:/Users/Owner/Documents/*.txt' )

1026 名前:デフォルトの名無しさん mailto:sage [2018/11/22(木) 08:08:40.14 ID:MlwCwGep.net]
>>978
荒らし氏ね

1027 名前:デフォルトの名無しさん [2018/11/22(木) 08:55:38.42 ID:GbIN7rVe.net]
>>978
そんな基本的なことで自慢しなけりゃならないとはよっぽどショボい言語なんだなww
>>968 という状況に追い込まれるのも当然な気がするwww

1028 名前:デフォルトの名無しさん mailto:sage [2018/11/22(木) 09:44:14.26 ID:5DqVDDdG.net]
ガイジしか使ってないし
開発者もガイジ揃いだから

1029 名前:デフォルトの名無しさん mailto:sage [2018/11/22(木) 11:17:29.92 ID:yaFldicH.net]
Rubyはガイジ隔離言語として世の役に立ってるよなw

1030 名前:デフォルトの名無しさん mailto:sage [2018/11/22(木) 12:06:33.50 ID:kIWLxEQb.net]
(Rubyガイジ)うんこ…うんこ…

1031 名前:デフォルトの名無しさん [2018/11/22(木) 13:34:33.95 ID:blyr971h.net]
次スレよろ



1032 名前:デフォルトの名無しさん mailto:age [2018/11/22(木) 17:10:16.21 ID:JDIt5Mgb.net]
( ・∀・)ノフォラァヨ!!---===≡≡≡ くだすれPython(超初心者用) その40
mevius.5ch.net/test/read.cgi/tech/1542874174/

1033 名前:デフォルトの名無しさん mailto:sage [2018/11/23(金) 16:02:50.08 ID:joE0voDR.net]
rate="486,380(26.03%)"
みたいなのから正規表現で26.03だけ

1034 名前:取り出したいんですけどどうすればいいですか?
最初はrate[-7:-2]で取り出そうと思ったんですけど、たまに"500(3.27%)みたいな%が一桁のデータがあって、出力すると(3.27になり、エラーの原因になってしまうんです
つまり()の中の数字だけ取り出す方法を教えてください
[]
[ここ壊れてます]

1035 名前:デフォルトの名無しさん [2018/11/23(金) 16:34:17.54 ID:e4GZHgy/.net]
>>986
re.compile(r'\((.*)\%\)', re.I)

1036 名前:デフォルトの名無しさん mailto:sage [2018/11/23(金) 17:04:36.40 ID:joE0voDR.net]
>>987
神がいた
最後のre.lがあるとなんかエラー起きたけどちょっと弄ったらできたわ
ありがとうございます
正規表現は素人には難しい

1037 名前:デフォルトの名無しさん [2018/11/23(金) 17:08:26.06 ID:f04GZ1ux.net]
>>986
'\d+\.\d+(?=\%)'

1038 名前:デフォルトの名無しさん mailto:sage [2018/11/23(金) 17:41:39.39 ID:joE0voDR.net]
>>989
こっちでもできた
しゅごい

1039 名前:デフォルトの名無しさん mailto:age [2018/11/23(金) 18:29:59.34 ID:cGOad0jL.net]
>>990
かわいい
掘らせて ハアハア(´Д`*)

1040 名前:デフォルトの名無しさん mailto:sage [2018/11/24(土) 03:48:05.11 ID:01jBobXF.net]
Ruby で作った。
正規表現内で特別な意味をもつ、特殊文字を判別する

rp = Regexp.escape "(%)"
puts rp #=> \(%\)

( ) は特殊文字なので、それらから特別な意味を除いて、単なる文字として使うには、
前に、\(逆スラッシュ)を付けて、エスケープする

rate = "486,380(26.03%)"

md = rate.match /\((.*)%\)/
puts md[ 0 ] #=> (26.03%)
puts md[ 1 ] #=> 26.03

外側の( ) は、単なる文字として使うので、\( \) とエスケープするが、
内側の( ) は、キャプチャーの意味なので、エスケープしない

md[0]はマッチした文字列で、md[1]は、( )でキャプチャーした部分

1041 名前:デフォルトの名無しさん mailto:sage [2018/11/24(土) 08:22:15.36 ID:sJe2ncgH.net]
>>992
いい加減にしろよ屑



1042 名前:デフォルトの名無しさん [2018/11/24(土) 09:57:01.31 ID:hG+y0dS8.net]
>>992
圧倒的大人気言語Ruby!!

https://gigazine.net/news/20181116-top-programming-languages-2018/
https://www.softantenna.com/wp/software/the-state-of-the-octoverse-2018/
https://www.softantenna.com/wp/software/ieee-spectrum-top-programming-languages-2018/
https://findy-code.io/engineer-lab/github-programming-language-ranking
https://i.imgur.com/0YbMsqj.jpg

大人気!!!

1043 名前:デフォルトの名無しさん [2018/11/24(土) 11:16:19.41 ID:ZWAqZgZk.net]
>>994
記事読んでみたらRuby落ち目で草

1044 名前:デフォルトの名無しさん [2018/11/24(土) 12:12:32.95 ID:4kdGLnPd.net]
re.search と re.findall どっち使うのが良いの?
web で調べると re.search 使ってる人や薦める人が多いみたいだけど
実際は re.findall の方が使いやすいと感じる

1045 名前:デフォルトの名無しさん mailto:sage [2018/11/24(土) 12:22:51.14 ID:rqBWhuzZ.net]
お前が使いやすいと思うものを使え
お前の感性なんざ知らねえよ

1046 名前:デフォルトの名無しさん mailto:sage [2018/11/24(土) 12:25:19.78 ID:rqBWhuzZ.net]
だいたいre.searchを薦めてる奴はその理由を書いてるだろ
(書いてない奴はゴミだから信用するな)
それを理解した上でre.findallの方がというなら、もはや否定する理由はない
お前の中ではそうなんだな、で終わりだ

1047 名前:デフォルトの名無しさん [2018/11/24(土) 13:07:33.24 ID:b4dZse+n.net]
>>998
だったら最初から黙っとけよ、チンカス

1048 名前:デフォルトの名無しさん [2018/11/24(土) 13:11:24.69 ID:4kdGLnPd.net]
finditer が良さそうなのでこれにします
本当にありがとうございました
仲良くしてね

1049 名前:デフォルトの名無しさん mailto:sage [2018/11/24(土) 14:00:15.36 ID:f9pHxWoA.net]
一個見つかれば良い状況で
searchではなくfinditer使うのは面倒くさいだけのような
finditerはマッチしてもしなくてもイテレータが帰ってきちゃう

1050 名前:デフォルトの名無しさん mailto:age [2018/11/24(土) 14:17:31.53 ID:S/+07wK4.net]
じつにくだすれらしい
くだくだなながれですね (´・ω・`)

1051 名前:デフォルトの名無しさん [2018/11/24(土) 14:24:37.27 ID:4kdGLnPd.net]
何個見つかるか事前に判らないので
match したかしなかったか調べるのに if m is None: みたいな書き方するなら
for _ in iter: でする方が楽なんです
条件後付けと言われればその通りですが



1052 名前:デフォルトの名無しさん [2018/11/24(土) 14:25:34.56 ID:4kdGLnPd.net]
ume

1053 名前:1001 [Over 1000 Thread.net]
このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 92日 6時間 34分 59秒

1054 名前:過去ログ ★ [[過去ログ]]
■ このスレッドは過去ログ倉庫に格納されています






[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<299KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef