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/
67 名前:デフォルトの名無しさん mailto:sage [2018/08/28(火) 16:02:01.79 ID:eDasHWl3.net] んなこたぁない。
68 名前:デフォルトの名無しさん [2018/08/29(水) 09:39:33.95 ID:t35BnR1i.net] python3m ってなんですか?
69 名前:デフォルトの名無しさん mailto:sage [2018/08/29(水) 10:09:58.87 ID:zNgJ3vFs.net] 住友と関係が?
70 名前:デフォルトの名無しさん mailto:sage [2018/08/29(水) 17:38:59.31 ID:zHN7x4pt.net] xmlの属性を指定する場合、以下のどっちも同じ答えを返してくれるんですが、どっちで書くのがいいんでしょうか? パターン1 duration1 = int(root.attrib["dur"]) print(duration1) パターン2 duration2 = int(root.get("dur")) print(duration2)
71 名前:デフォルトの名無しさん mailto:sage [2018/08/29(水) 19:50:21.16 ID:+JD/mPB3.net] BeautifulSoup前提で喋ってます? もしそうなら、属性が存在する限りどちらでもよい getは属性が存在しないときNoneを返すが、attribはそうではない まあ試してみ
72 名前:デフォルトの名無しさん mailto:sage [2018/08/29(水) 19:54:41.40 ID:zHN7x4pt.net] >>67 どうもありがとうございます xml.etree.ElementTreeです たしかに存在しない場合の挙動は違ってました
73 名前:デフォルトの名無しさん [2018/08/29(水) 21:03:23.42 ID:LyGOIS06.net] すいません日付の計算で疑問なんですが、 aaa_date_str = '2018-08-29 20:00:00' bbb_date_str = '2018-08-29 19:00:00' aaa_date = datetime.datetime.strptime(aaa_date_str, '%Y-%m-%d %H:%M:%S') bbb_date = datetime.datetime.strptime(bbb_date_str, '%Y-%m-%d %H:%M:%S') として、 date_diff = aaa_date - bbb_date print(date_diff.days) --> 0 になりますが、逆にすると、 date_diff = bbb_date - aaa_date print(date_diff.days) --> -1 になります。 差異が1日に満たなければゼロになるのかと思いきや 計算結果が負だとゼロにならずに-1になるのがなんか疑問です。 それとも記述に問題あるでしょうか。
74 名前:デフォルトの名無しさん [2018/08/29(水) 21:09:31.82 ID:GQLl9uCt.net] >>69 3.0-3.1=-0.1だろう?0じゃないだろう? そういうこった
75 名前:デフォルトの名無しさん [2018/08/30(木) 10:23:36.80 ID:S/vwwZyF.net] int()とかと一緒か [0.5]=0 [-0.5]=-1
76 名前:デフォルトの名無しさん mailto:sage [2018/08/30(木) 21:55:04.51 ID:hf8/OGEv.net] >>70 すいません、分からず… 逆に、3.1 - 3.0 = 0.1 はdaysだと0になるんです。 >>71 int()だと、正も負も小数点以下切り捨てではないですか?
77 名前:デフォルトの名無しさん [2018/08/30(木) 21:59:01.86 ID:Ffnu7dR5.net] >>72 68が言ってるようにたぶん四捨五入なんだず
78 名前:デフォルトの名無しさん [2018/08/30(木) 21:59:56.98 ID:Ffnu7dR5.net] おっと 1時間でも -1ってでるのか じゃあ 時間は切り捨てじゃなくて四捨五入でもなくて切り上げになってんだ
79 名前:デフォルトの名無しさん [2018/08/30(木) 22:19:45.36 ID:Ffnu7dR5.net] おっと おれのうしろで おれのいもうとが 「そのマイナス1はエラー値であって 数値じゃない diff.daysはぬるぽしない」 といっている
80 名前:デフォルトの名無しさん [2018/08/30(木) 22:29:53.78 ID:Ffnu7dR5.net] それから なぜ print(date_diff)してみないんだ ともいっている
81 名前:デフォルトの名無しさん [2018/08/30(木) 22:42:08.44 ID:Ffnu7dR5.net] おれは aaa_date + date_diff をためしてみてから、 timedeltaについての説明を読みに行くことを最終的におすすぬする。
82 名前:デフォルトの名無しさん mailto:sage [2018/08/30(木) 23:01:55.56 ID:TEO8FkA/.net] 別マシンで書いたスクリプトを動かそうとしたら dateutilが無いと言われ実行出来ません。 スクリプトにはこう書きました。 from dateutil.relativedelta import relativedelta 動いたマシンのPythonのバージョンは3.6.4、 動かないマシンのPythonのバージョンは3.6.5です。 dateutilはどこで入手するんでしょうか?
83 名前:デフォルトの名無しさん mailto:sage [2018/08/30(木) 23:04:27.25 ID:TEO8FkA/.net] すみません pip で dateutilsを入れたら使えました。
84 名前:デフォルトの名無しさん [2018/08/31(金) 04:09:39.70 ID:rWvqNQHt.net] python 3.6 windows10 import pyautogui pyautogui.rightClick(100,100) pyautogui.moveRel(10,10) と書くと右クリックのあとマウスが動いてくれない。 これはライブラリのバグ?
85 名前:デフォルトの名無しさん [2018/08/31(金) 04:37:56.39 ID:rWvqNQHt.net] ごめん動いてた
86 名前:デフォルトの名無しさん mailto:sage [2018/08/31(金) 09:38:10.61 ID:cxARIA2x.net] 罰としてお前の
87 名前:ヒ起という突起をクリックしてやる [] [ここ壊れてます]
88 名前:デフォルトの名無しさん mailto:sage [2018/08/31(金) 19:38:51.59 ID:IH56D7c/.net] Dropboxの共有リンクを取得したいです。 dropbox.Dropbox(トークン).sharing_create_shared_link を使うと、例えば PathLinkMetadata(url='https://db.tt/xxxxxxx', visibility=Visibility('public', None), path='/hoge/hage.jpg', expires=None) こういう1行が出力されます。 sharing_create_shared_link以外の関数で、 https://db.tt/xxxxxxxだけを出力する関数ってありますか? 続く
89 名前:デフォルトの名無しさん mailto:sage [2018/08/31(金) 19:39:30.70 ID:IH56D7c/.net] sharing_create_shared_linkだと、以下のようになります。 import dropbox dbxTOKEN = 'DROPBOX_MY_ACCESS_TOKEN' dbxRemotePath = f'/aiueo/hage.jpg' dbx = dropbox.Dropbox(dbxTOKEN) dbx.users_get_current_account() # アップロード f = open(dbxLocalPath, 'rb') dbx.files_upload(f.read(),dbxRemotePath) f.close() # 共有リンクの取得 dbxLink = dbx.sharing_create_shared_link(dbxRemotePath,short_url=True) # Dropbox から共有リンクを取得 dbxLink = str(dbxLink)[17:-1] # 整形 「PathLinkMetadata(」と「)」を除外 dbxLink = dbxLink.split(',') # リストに変換 dbxLink = dbxLink[0] # リストの1番目 (url) dbxLink = str(dbxLink)[5:-1] # 整形 print(dbxLink) https://db.tt/xxxxxxx # プリントされたurl つづく
90 名前:デフォルトの名無しさん mailto:sage [2018/08/31(金) 19:40:14.75 ID:IH56D7c/.net] 文字列を分割してその中の一部を取り出す方法ですが、 PathLinkMetadata(url='https://db.tt/xxxxxxx', visibility=Visibility('public', None), path='/hoge/hage.jpg', expires=None) こういう1行があったとして、 url='https://db.tt/xxxxxxx', visibility=Visibility('public', None), path='/hoge/hage.jpg', expires=None こんなふうに分割したいです。 split(',')でやるとpublic', Noneここのコンマでも反応してしまいます。 今回はurlの取得が目的なので今の所実害は無いんですが、もっと簡単にdorpboxの共有リンクを取得したり確実な文字列の分割方法を知りたいです。
91 名前:デフォルトの名無しさん [2018/09/01(土) 12:32:11.32 ID:Z1lBiRzX.net] >>85 ずいぶん遠回りしてるけど、 a=dropbox.Dropbox(トークン).sharing_create_shared_link として、 a.url を参照すれば良いのでは? 他についても a.path とかで参照できるはず
92 名前:デフォルトの名無しさん mailto:sage [2018/09/01(土) 15:22:01.82 ID:5RO4iQNV.net] すいません、ハマって困っています。 utf-8のテキストファイル(内容は'1'という文字のみ)を、python3の以下のスクリプトで 読み込んで、整数に変換しようとすると、以下のエラーが出て困っています。 Traceback (most recent call last): File "collect_progress.py", line 75, in <module> num = int(str) ValueError: invalid literal for int() with base 10: '\ufeff1' ユニコードの文字列は整数変換できないのでしょうか。 fr = open("sample.txt") str = fr.readline() num = int(str)
93 名前:デフォルトの名無しさん [2018/09/01(土) 15:26:08.43 ID:VfnjVYeD.net] BOMついてないか
94 名前:デフォルトの名無しさん mailto:sage [2018/09/01(土) 15:37:12.61 ID:kUpkBQ3x.net] echo 1 | ruby -e 'STDIN.each { |line| puts(line.to_i + 1) }' Ruby なら、シェルから、1-liner で、2 と出力される Python でも同じように、1-liner でやってみれば?
95 名前:デフォルトの名無しさん [2018/09/01(土) 15:55:11.65 ID:A/mNPeDe.net] >>87 open("sample.txt", encoding="utf-8-sig") > いくつかの領域では、UTF-8 でエンコードされたファイルの先頭に "BOM" を利用する習慣があります; 中略 > もし、そのようなファイルを読む場合には、この印を自動
96 名前:的にスキップするために 'utf-8-sig' コーデックを利用してください。 https://docs.python.org/ja/3/howto/unicode.html#reading-and-writing-unicode-data [] [ここ壊れてます]
97 名前:デフォルトの名無しさん mailto:sage [2018/09/01(土) 16:02:39.43 ID:kUpkBQ3x.net] プログラムでは、BOMなしUTF-8 (UTF-8N)を使った方が無難 その代わり、Windows のExplorer ではテキスト検索できなくなるから、 Windows10・WSL・Ubuntu から、grep してる
98 名前:デフォルトの名無しさん mailto:sage [2018/09/01(土) 16:30:27.70 ID:eWdCnGo4.net] >>86 どうもありがとうございます! .urlなどで簡単に取り出せました。 これはdropboxのライブラリの機能でしょうか?
99 名前:デフォルトの名無しさん mailto:sage [2018/09/01(土) 16:55:46.47 ID:5RO4iQNV.net] >>88 , 86, 87, 88 ありがとうございます。 BOMが原因でした。 恥ずかしいことに、BOMというのは全く知りませんでした。 助かりました。
100 名前:デフォルトの名無しさん [2018/09/01(土) 20:51:46.35 ID:5sfxmNQl.net] >>92 まあそうだと思う。 自分はDropboxライブラリを使ったことはないけど、>>83 を見ると戻り値としてPathLinkMetadataオブジェクトが返ってきていて、属性としてurlとかpathとかがある事がわかった(これはpython的に考えればわかる) 使うメソッドとかについてはドキュメント読むと今回みたいなことはすぐ分かるだろうし、勉強にもなるよ
101 名前:デフォルトの名無しさん mailto:sage [2018/09/01(土) 23:59:25.43 ID:eWdCnGo4.net] >>94 .sharing_create_shared_linkはドキュメントの中で見つけた関数なんですが、英語分からないから試行錯誤していました ありがとうございます
102 名前:デフォルトの名無しさん [2018/09/02(日) 05:35:01.36 ID:0w6R8dvF.net] Python初心者(プログラミング初心者)です。 スクレイピングをしようとしていたら躓いてしまったので質問をさせてください。 requestsで変数htmlに入れたサイトのhtmlをファイルに保存したいのですが良く分かりませんでした。 file.writeみたいなのも書いてみてるんですがエラー吐かれたりします。誰か例として作ってくれませんか? requests.getで変数htmlに取得したサイトhtmlをc:/user/hoge/Documents/hymlfile.htmlに追記モードで保存したいです。 無能でごめんなさい助けてください。
103 名前:デフォルトの名無しさん mailto:sage [2018/09/02(日) 07:13:26.28 ID:5WqNet32.net] File.open(file_path, 'a') { |io| io.write text } Ruby では、File.open の引数に、 ファイルパスと、ファイルを開く際の、mode を渡す a なら追記書き込み 「python file write」で検索!
104 名前:デフォルトの名無しさん mailto:sage [2018/09/02(日) 08:24:22.51 ID:GLq4HnWW.net] import requests r = requests.get("https://www.python.org") f = open("c:/user/hoge/Documents/hymlfile.html", "a") f.write(r.text)
105 名前:デフォルトの名無しさん [2018/09/02(日) 09:00:47.26 ID:0w6R8dvF.net] >>98 てゃんks 無事解決しました本当にありがとう やっと眠れtる
106 名前:デフォルトの名無しさん [2018/09/02(日) 16:47:00.30 ID:RE+xVvI9.net] f.write(r.text) UnicodeEncodeError: 'cp932' codec can't encode character '\U0001f5a5' in position 12657: illegal multibyte sequence スクレイピングしたサイトに絵文字があると(?)このエラーが起こるようです。 エンコーディングの関係だと思うんですけど対処法分かる方いますか? UnicodeEncodeErrorで調べたら解説しているところが少し見つかったんですが僕には何が言いたいのかさっぱりでした。。。。
107 名前:デフォルトの名無しさん [2018/09/02(日) 16:56:55.96 ID:RE+xVvI9.net] f.openの時にencoding='utf-8'渡したら解決しました!! うれしい!!!ありがとう
108 名前:デフォルトの名無しさん mailto:sage [2018/09/02(日) 16:59:32.33 ID:5WqNet32.net] cp932 はやめて、BOMなしUTF-8(UTF-8N)で書き込めば? それか、エンコード
109 名前:変換できない文字は、 エラーにせずに、? に置き換えるとか [] [ここ壊れてます]
110 名前:デフォルトの名無しさん mailto:sage [2018/09/02(日) 17:49:53.80 ID:B4IY8jcq.net] ElementTree、lxml、BeautifulSoupってそれぞれどう違うの?
111 名前:デフォルトの名無しさん mailto:sage [2018/09/02(日) 17:51:26.55 ID:B4IY8jcq.net] ElementTreeは純正 lxml、BeautifulSoupはサードパーティ lxmlは高速だけど、動的なサイトに弱い BeautifulSoupは比較的簡単 って感じ?
112 名前:デフォルトの名無しさん mailto:sage [2018/09/02(日) 19:12:56.97 ID:dvfcpVZJ.net] 何が言いたいのか
113 名前:デフォルトの名無しさん [2018/09/02(日) 19:26:55.59 ID:/VgxTU/I.net] 開けっ放しにするんはいけんよ
114 名前:デフォルトの名無しさん mailto:sage [2018/09/02(日) 20:28:17.67 ID:NdoNeabl.net] lxml 言う程速さを感じないんだよな
115 名前:デフォルトの名無しさん mailto:sage [2018/09/03(月) 01:13:17.00 ID:IUTdxFc1.net] import requests from lxml import etree url = example.com res = requests.get(url) res.raise_for_status() xmlroot = etree.fromstring(res.content) progroot = xmlroot.find(なになに) aaa = progroot.find(info) print(aaa) <Element info at xxxxxx> がプリントされます。 aaa = progroot.find(info).text とすると、 <div class="station_content_description "><table border="0" cellpadding="5" > <tr> <td style="padding: 5px;"> <img src="https://example.com/aaa.jpg" height="60" width="60"alt="ふじこ"></td> </tr></table><br /> <br /> あいうえお<br />かきくけこ <br /><br /> 番組Webサイト:<a href="example.com/">http://example.com/</a><br /> メッセージフォーム:<a href="example.com/mail.html">http://example.com/mail.html</a><br /> <br /></div> がプリントされます。(投稿できなかったので途中で改行してます) 次に、本文はどうやって取り出すんでしょうか?
116 名前:デフォルトの名無しさん mailto:sage [2018/09/03(月) 01:49:47.20 ID:BfF9DJB1.net] 要素の内側のテキストを収集するためには、itertext() を参照してください。例えば "".join(element.itertext()) のようにします。
117 名前:デフォルトの名無しさん [2018/09/03(月) 19:12:05.50 ID:ttVcJTrG.net] Ruby のNokogiri なら、CSS セレクター・XPath とか jQuery でも、CSSセレクター
118 名前:デフォルトの名無しさん mailto:sage [2018/09/06(木) 00:43:50.19 ID:YKdnoVr6.net] ```python hstg = info.get('hashtags') print(hstg) # hashtag p_url = info['url']['short'] ``` p_urlの行をget()だとどう書けばいいですか 辞書にアクセスした時存在しないキーだとNoneを返したいんでget()を使いたいんですが
119 名前:デフォルトの名無しさん mailto:sage [2018/09/06(木) 01:06:41.32 ID:9wgcxN1e.net] ようわからんが info.get('url', {}).get('short') とか? 若干無駄があるがこの程度の無駄が気になる神経症はCでも書いとけ
120 名前:デフォルトの名無しさん mailto:sage [2018/09/06(木) 02:03:26.11 ID:YKdnoVr6.net] >>112 どうもありがとうございます! 試してみます。 {}の中に'short'が入るイメージでしょうか?
121 名前:デフォルトの名無しさん [2018/09/06(木) 14:42:12.77 ID:tPMc56fx.net] 馬鹿はオウム返しですぐ次の質問するよね
122 名前:デフォルトの名無しさん mailto:sage [2018/09/06(木) 15:13:17.47 ID:QdhwFBW3.net] python 3.6.3 tkinter でファンクションキーを押したら文字列を表示させたいです def text _desp(event): label["text"] ="bcdef" label =tk.Label(root, text ="aaaaa", ) label.bind('<F1>', text_desp) label.pack と書いて、表示したウィンドウをアクティブにしてからF1を押してもtextが入れ替わりません 原因は何でしょうか?
123 名前:デフォルトの名無しさん [2018/09/06(木) 16:49:56.62 ID:ntAiYVJq.net] インタプリタ言語最強
124 名前:デフォルトの名無しさん mailto:sage [2018/09/06(木) 17:12:39.45 ID:QdhwFBW3.net] >>115 rootにbindしたらいけました すみません
125 名前:デフォルトの名無しさん mailto:sage [2018/09/06(木) 18:22:16.04 ID:t3mpF7WK.net] VSCodeの「ターミナルで選択範囲/行を実行」って機能をよく使うんですけど 作ってる最中のfor文内(1行目がインデントしてるテキスト)をテストしたいときは インデントを一時的に消して実行するしか無いんですかね? IPythonなら1行目がインデントしてても実行してくれるけど あれはターミナルにフォーカスを移してEnterを押さないと
126 名前:タ行してくれないのが不満だし [] [ここ壊れてます]
127 名前:デフォルトの名無しさん [2018/09/06(木) 18:56:40.11 ID:r2CzgwVn.net] 馬鹿はオウム返しって言うの好きだよね
128 名前:デフォルトの名無しさん mailto:sage [2018/09/06(木) 19:24:48.49 ID:UI2giREj.net] VSCode の拡張機能のCode Runner を入れたら、 右クリックメニューから、そのまま実行できる または、選択したコードを実行できる
129 名前:デフォルトの名無しさん mailto:sage [2018/09/06(木) 21:13:55.88 ID:fyvsaEga.net] 入門書で学んでるプログラミング初学者です。 数字以外を入力した場合に「不正な値です」と表示させたいのですが計算を間違えた際にも「不正な値です」と出てしまいます。 どこを直したらいいでしょうか? from random import randint miss = 0 correct = 0 print("問題?3回間違えたら終了。qで終了") while miss<3 : a = randint(1,100) b = randint(1,100) ans = a + b question = f" {a} + {b} は?" value = input(question) #qと入力されたら終了 if value == "q": break #正解か不正解か判断する if value == str(ans) : correct += 1 print("正解です!") elif type(value) != int : print("不正な入力です。") else : miss += 1 print("間違い!","×" * miss) print("----終了----") print("正解 :", correct) print("間違い:", miss)
130 名前:デフォルトの名無しさん [2018/09/06(木) 21:16:02.79 ID:r2CzgwVn.net] 当っとるからええやん
131 名前:デフォルトの名無しさん mailto:sage [2018/09/06(木) 21:16:08.52 ID:fyvsaEga.net] あれ、書き込みにインデントが反映されてない…
132 名前:デフォルトの名無しさん [2018/09/06(木) 21:33:42.86 ID:rG7JeulO.net] >>123 ソース貼れるサイト https://pastebin.com/ ペーストビン https://ja.osdn.net/pastebin/ OSDNコピペ ログインしないで投稿すると一週間で自動削除 >>1
133 名前:デフォルトの名無しさん [2018/09/06(木) 21:46:28.09 ID:r2CzgwVn.net] >>121 真面目に添削すると 数字意外を入力した場合に「不正な値です」と表示する →数字でないならそもそも値ではないやんか、何言っとんやわれ?なめとんか? 「不正な入力です」と表示する →不正というワードは否定形なのでわかりにくい 「間違った入力です」と表示する →何が間違っているのかわからない 「数字以外の入力です」と表示する →だからどうすれば良いのかわかりにくい 「数字を入力してください」と表示する →漢数字でもええんか? 「答えになる数値を入力を入力してください」と表示する →めっちゃわかりやすいやん!
134 名前:デフォルトの名無しさん [2018/09/06(木) 21:56:28.45 ID:bpm1lb7O.net] >>121 assert使うといいよ
135 名前:デフォルトの名無しさん mailto:sage [2018/09/07(金) 00:32:30.89 ID:hV93LKBw.net] >>124 すみません。テンプレ読み直します。 >>125 ありがとうございます。何気にすごく重要なことを教えてもらった気がする。 >>126 試してみます。
136 名前:デフォルトの名無しさん [2018/09/07(金) 16:30:33.98 ID:DKf48tK4.net] >>125 イイネ!(・∀・)ワロタヨ!
137 名前:デフォルトの名無しさん [2018/09/07(金) 17:07:52.42 ID:82uhpEUK.net] >>121 valueはstrだから、たとけ入力されたのが"123"とかの数'字'であってもtypeはstrになる つまり、自分で明示的に型変換をしない限り何を入力してもtype(value)==intが成り立つ事はない 入力を受け取ったらまず最初にvalueをintに型変換したら? int(value)でできるし、変換できない文字列が入って来たらエラーになるので例外処理で不正な入力も検知できるよ
138 名前:デフォルトの名無しさん [2018/09/07(金) 17:26:59.78 ID:po/zaTpZ.net] たとけ
139 名前:デフォルトの名無しさん [2018/09/07(金) 18:10:30.75 ID:DKf48tK4.net] たとけ
140 名前:デフォルトの名無しさん mailto:sage [2018/09/07(金) 18:16:00.07 ID:QgSvA/nW.net] とたけけ
141 名前:デフォルトの名無しさん [2018/09/07(金)
] [ここ壊れてます]
142 名前:20:30:20.91 ID:DKf48tK4.net mailto: とたけけけ [] [ここ壊れてます]
143 名前:デフォルトの名無しさん mailto:sage [2018/09/08(土) 02:42:10.64 ID:zJ7GwxeF.net] import dataset db = dataset.connect('sqlite:///zoo.db') table = db['zoo'] results = table.find(damages = '大けが') # for record in results: # print(record) if results == None: print('無いです') else: print('ありました') print(results) カラムの 『damages』 が 『大けが』 のレコードがあるか無いか知りたいんですが、当たり前だけどこれだとダメでした。どうやってあるかないかを調べたらいいんでしょうか?
144 名前:デフォルトの名無しさん mailto:sage [2018/09/08(土) 03:07:51.29 ID:zJ7GwxeF.net] 自己レスです。 これで出来たっぽいけど他にもっといいやり方ありますか? import dataset db = dataset.connect('sqlite:///zoo.db') table = db['zoo'] results = list(table.find(damages = '大けが')) # for record in results: # print(record) if results == []: print('無いです') else: print('ありました') print(results)
145 名前:デフォルトの名無しさん mailto:sage [2018/09/08(土) 07:56:53.17 ID:aeU58kvm.net] >>129 丁寧にありがとうございます。 なるほど…例外処理でやってみます。
146 名前:デフォルトの名無しさん mailto:sage [2018/09/08(土) 08:21:40.63 ID:BJl7Ln5g.net] こんにちは。 pycharm という便利なものがあるとのことでさっそく使ってみました。 最新版の"PyCharm Community Edition 2018.2.3"をWindows 10 にインストールし、 プロジェクトの設定の"Existing interpreter"に、普段使用している cygwin64 の "python3.6m.exe"を 指定しました。IDEからRunすると問題なく実行されるのですが、ブレークポイントを設定して Debugを実行すると、 pydev debugger: warning: trying to add breakpoint to file that does not exist: /cygdrive/c/pycharm_doc/test001/c:/pycharm_doc/test001/main.py (will have no effect) という、ファイルが存在しないというエラーが出来ます。 cygwinのパスの表現と、windowsのパスの表現が合体した変なパス名が表示されます。 3台のPCで試したのですが、全部同じ結果でした。解決する方法はありますかねぇ。 (こちらの都合でcygwin環境が必須になっています)
147 名前:デフォルトの名無しさん mailto:sage [2018/09/08(土) 08:54:48.94 ID:LzkjeqyB.net] >/cygdrive/c/pycharm_doc/test001/c:/pycharm_doc/test001/main.py Windows10・WSL で、Linux(Ubuntu)側から、Windowsのフォルダへアクセスしたような感じかね? /mnt/c/Users/Owner/Documents Ubuntu側から、WindowsのDocumentsフォルダへアクセス
148 名前:デフォルトの名無しさん mailto:sage [2018/09/08(土) 09:21:46.04 ID:r9+/L/Cg.net] >>135 試さずに書くけど、元のコードのfindをfind_oneに変えるか、 元のコードの条件文をif len(results) > 0:に変えれば動くんじゃない?
149 名前:デフォルトの名無しさん mailto:sage [2018/09/08(土) 10:40:12.37 ID:BJl7Ln5g.net] >>138 ありがとうございます。 もしかしたら、リモート(ssh)で接続するのが正解か?と思い始めました。 どうでしょうか。
150 名前:デフォルトの名無しさん mailto:sage [2018/09/08(土) 12:03:41.47 ID:TO1NWAp1.net] 変数名つける時って何語くらいまででつけますか? 詳しく説明すると長くなるし、短いとかぶるし、省略とか頭文字みたいなのは良くないらしいですが 参考文献とかあったら教えてほしいです。
151 名前:デフォルトの名無しさん mailto:sage [2018/09/08(土) 12:43:49.56 ID:cbJtO1ny.net] リーダブルコードでも読んでこい
152 名前:デフォルトの名無しさん [2018/09/08(土) 21:24:47.08 ID:JF6Ma/9C.net] 標準ライブラリとかメジャーなフレームワークコードのコード読んで好きなの選べばいいじゃん
153 名前:デフォルトの名無しさん [2018/09/08(土) 23:13:29.87 ID:fPoBP/2C.net] >>141 頭文字で名付けても手にとるように意味がわかるコードが良いコードやね
154 名前:デフォルトの名無しさん [2018/09/09(日) 11:20:55.79 ID:kzlGF2pO.net] ジェーン台風のJって台風10号だってすぐ判るネーミングやね
155 名前:デフォルトの名無しさん mailto:sage [2018/09/09(日) 16:08:53.74 ID:pN0oDaL+.net] rssを表示したいんだけど、行末が『ます。』のものだけを表示することにしてます。もし、1行も『ます。』がなくて表示すべきものが
156 名前:全く無かった場合はforループの後に別の処理をしたいんだけど、やり方教えてほしいです。 for e in entri: title = e['title'] title = title.split(" - ")[0] summary = e['summary'] summaryList = summary.split("分") dateTime = f'{summaryList[0]}分' chuihou = summaryList[1] if title[:6] != '[ PR ]': if summa[-3:] == 'ます。': print(f'{title} {dateTime}') print(chuihou) [] [ここ壊れてます]
157 名前:デフォルトの名無しさん [2018/09/09(日) 16:26:44.95 ID:XnExmf42.net] 5chは連続する半角スペースを消してしまうから インデントが崩れる (インデント崩さず)ソース貼れるサイト https://pastebin.com/ ペーストビン https://ja.osdn.net/pastebin/ OSDNコピペ ログインしないで投稿すると一週間で自動削除
158 名前:デフォルトの名無しさん mailto:sage [2018/09/09(日) 16:33:13.24 ID:pN0oDaL+.net] どうもすみません 以下のコードです https://pastebin.com/PCvvn322
159 名前:デフォルトの名無しさん mailto:sage [2018/09/09(日) 17:06:15.73 ID:0ym3cmgA.net] counter = false ループ処理 { 1件でも処理したら、counterをtrue にする } もし、counterがfalseのままなら{ 処理 }
160 名前:デフォルトの名無しさん mailto:sage [2018/09/09(日) 17:17:25.83 ID:pN0oDaL+.net] >>149 どうもありがとうございます うまくいきました。
161 名前:デフォルトの名無しさん mailto:sage [2018/09/09(日) 23:08:48.04 ID:pN0oDaL+.net] forループの続きなんですが、「to」が「imanoJikan」よりも先の項目が見つかったら直近のひとつだけ取得してループを終了させる方法おしえてほしいです https://pastebin.com/hUp7pyTB
162 名前:デフォルトの名無しさん mailto:sage [2018/09/09(日) 23:26:11.91 ID:sFuHefah.net] printの下に同じインデントで break
163 名前:デフォルトの名無しさん mailto:sage [2018/09/09(日) 23:29:15.01 ID:pN0oDaL+.net] >>152 おおお! ありがとうございます
164 名前:デフォルトの名無しさん mailto:sage [2018/09/10(月) 00:27:49.39 ID:8UsAQXCT.net] えぇ…
165 名前:デフォルトの名無しさん [2018/09/10(月) 08:53:06.79 ID:iZVjiAgO.net] python卒業します これからはjsと戯れます
166 名前:デフォルトの名無しさん [2018/09/10(月) 08:54:23.89 ID:iZVjiAgO.net] さようならみんな sys.exit()
167 名前:デフォルトの名無しさん mailto:sage [2018/09/10(月) 09:37:57.70 ID:SBVp+ZlE.net] 達者で
168 名前:デフォルトの名無しさん [2018/09/10(月) 13:25:23.61 ID:nF+UxiuD.net] >>155 え!え? そこは、普通 jsではなく juliaだろ? println("Hello julia") 女子小学生より31歳のお姉さまだろ、普通 https://i.imgur.com/mFtwafs.jpg
169 名前:デフォルトの名無しさん mailto:sage [2018/09/10(月) 18:29:25.45 ID:C7zSAi11.net] subprocessで実行したコマンドの出力の最後の1行と終了ステータスを取得する方法教えてください!
170 名前:デフォルトの名無しさん mailto:sage [2018/09/10(月) 20:00:58.83 ID:7UcGX0Ag.net] >>158 整形サイボーグっぽいですね 普通の人間がいいです
171 名前:デフォルトの名無しさん [2018/09/10(月) 20:04:57.98 ID:ZkfvzKVs.net] >>159 subprocess.run()でコマンドの出力と終了ステータスを取得できる https://docs.python.jp/3/library/subprocess.html 最後の1行は改行文字でsplitして一番最後を取れば良い
172 名前:デフォルトの名無しさん [2018/09/10(月) 20:08:23.29 ID:t8KSuPE1.net] >>159 サブプロセスは最後に終了ステータスを吐くように記述しておく pipeをつくる 終わる前にpipeから出力を全部とってきて 最後の2行(最後の1行+終了ステータス)以外はポイする
173 名前:デフォルトの名無しさん mailto:sage [2018/09/10(月) 20:09:03.35 ID:t8KSuPE1.net] >>161 ケコ━━━━(・∀・)人(・∀・)━━━━ン
174 名前:デフォルトの名無しさん mailto:sage [2018/09/10(月) 23:14:11.21 ID:068EZbdc.net] python 3.6.3 最新のpandas 数値で条件指定してquery()したいのですが、ここからどうしたらいいか分かりません。 北海道や東京等が邪魔で、比較が出来ないと怒られます。出来れば都道府県は消さずに、このまま条件指定したいです 良い方法ありますか? .csvファイルからデータを読み込んでます 表示させると、こんな感じになります。index3以下は数値で埋まってます https://i.imgur.com/bll8NE3.jpg
175 名前:デフォルトの名無しさん mailto:sage [2018/09/10(月) 23:21:28.90 ID:zuFyRahU.net] df.drop(df.index[0])
176 名前:デフォルトの名無しさん mailto:sage [2018/09/11(火) 07:33:52.50 ID:0W5Zv88y.net] >>165 そうすると、消えちゃうと思います 消さないように条件指定したいです
177 名前:デフォルトの名無しさん mailto:sage [2018/09/11(火) 08:19:03.98 ID:bezMNa3/.net] そうか なら死ぬまでやってな
178 名前:デフォルトの名無しさん mailto:sage [2018/09/11(火) 09:27:36.32 ID:0W5Zv88y.net] csvから数値を取り出してるのに、str型とint型は比較できないとか言われる… conditions = '(身長 > 160) & (体重 < 60)' df.query(conditions) 文法は合ってますよね? >>164
179 名前:デフォルトの名無しさん mailto:sage [2018/09/11(火) 09:52:26.79 ID:Y91dzGGO.net] >>168 >>168 すみません、df.drop(df.index[0])はしてます
180 名前:デフォルトの名無しさん mailto:sage [2018/09/11(火) 12:07:19.86 ID:0Qtu/zKE.net] >>168 まちがってる希ガス
181 名前:デフォルトの名無しさん [2018/09/11(火) 13:17:25.77 ID:tPkMAepR.net] パイソンやる気が起きないんですがどうしたらいいですか
182 名前:デフォルトの名無しさん mailto:sage [2018/09/11(火) 13:27:48.27 ID:dcNBqXet.net] queryってラベル日本語okだっけ?
183 名前:デフォルトの名無しさん mailto:sage [2018/09/11(火) 13:34:14.95 ID:dcNBqXet.net] あと (体重 < 60) queryってこのカッコっているんだっけ?
184 名前:デフォルトの名無しさん mailto:sage [2018/09/11(火) 14:29:20.23 ID:MIcxujEr.net] >>170 ほんとですか…帰ったら見てみます >>172 >>173 Shift jisでエンコードしてて、printfしたら普通に見られたのと、エラーも吐かなかったので大丈夫かとおもいます ()は参考サイト通りにやりました。()取ってもダメでした
185 名前:デフォルトの名無しさん mailto:sage [2018/09/11(火) 14:43:17.34 ID:SPzv7yKx.net] プログラミングしたことない文系大学生なんですが、python始めるなら pythonスタートブック増補改訂版 っていうのでいいですか?
186 名前:デフォルトの名無しさん [2018/09/11(火) 14:46:13.07 ID:pwo3DQbp.net] 無理
187 名前:デフォルトの名無しさん mailto:sage [2018/09/11(火) 15:35:17.46 ID:MIcxujEr.net] >>174 dropでindex[0]を消して、一旦保存し、また開き直して、抽出したら出来ました スレ汚しすみませんでした… でも、すごく無駄なことをしてる気がする… 原因として、index[0]にある文字列のせいで、下の数値も文字列として認識しちゃってた可能性が浮かびました だから、開き直したらエラーも出ずに出来たんだと思います ちなみに、reset_index も意味無かったです
188 名前:デフォルトの名無しさん mailto:sage [2018/09/11(火) 16:45:24.82 ID:SPzv7yKx.net] >>176 昨日 print("〜〜") っていうの覚えたレベルなのですが、無理なのですか?
189 名前:デフォルトの名無しさん mailto:sage [2018/09/11(火) 18:16:29.60 ID:YvR5RO13.net] 生きるのにも向いてねえよ はよ死ね
190 名前:デフォルトの名無しさん mailto:sage [2018/09/11(火) 18:25:17.89 ID:p1uFk9aE.net] みんなのPython 第4版、2017 みんなのが定番だけど、言語の初心者には良いけど、 プログラミング自体の初心者には、どうだろう? たのしいRuby 第5版、2016 プログラミング自体の初心者は、Rubyでプログラミングを覚えてから、 Python の方が良さそう 他には、Progate などの教育サイトもある
191 名前:デフォルトの名無しさん mailto:sage [2018/09/11(火) 18:55:41.75 ID:0Qtu/zKE.net] >>171 まず、PyのアイコンをA4サイズに拡大プリントします
192 名前:デフォルトの名無しさん mailto:sage [2018/09/11(火) 19:19:03.51 ID:AZXlXK10.net] pipでインストールしたライブラリに不備が見つかったので変更を加えたのですが実動作に反映されません。 キャッシュの削除も試してみたのですが変わらず・・・
193 名前:デフォルトの名無しさん mailto:sage [2018/09/11(火) 19:19:31.34 ID:cR5Dh89A.net] >>161 >>162 どうもありがとうございます
194 名前:B 返事遅くなってすみません。 ドキュメントが難しくて理解出来なくて。 最後の1行をとり出すとして、 subprocess.run(コマンド) stdout.sprit("\n")[-1] これだと、NameError: name 'stdout' is not definedってなってしまいます。 [] [ここ壊れてます]
195 名前:デフォルトの名無しさん mailto:sage [2018/09/11(火) 19:26:50.17 ID:cR5Dh89A.net] >>183 aaa = subprocess.run(コマンド, stdout=subprocess.PIPE) bbb = aaa.stdout.read() ccc = bbb.split("/")[-1] print(ccc) こうやると AttributeError: 'bytes' object has no attribute 'read' このエラーでした
196 名前:デフォルトの名無しさん mailto:sage [2018/09/11(火) 19:43:31.84 ID:cR5Dh89A.net] subprocess.run(["ls", "-l"], stdout=subprocess.PIPE) print(subprocess.PIPE) -1がプリントされるんですが、-1とはなんですか?
197 名前:デフォルトの名無しさん mailto:sage [2018/09/11(火) 19:54:36.58 ID:cR5Dh89A.net] 何度もすみません。 >>> subprocess.run(["ls", "-l", "/dev/null"], stdout=subprocess.PIPE) CompletedProcess(args=['ls', '-l', '/dev/null'], returncode=0, stdout=b'crw-rw-rw- 1 root root 1, 3 Jan 23 16:23 /dev/null\n') ドキュメントにこう書かれてあるので、CompletedProcessというリストが作られるのかと思い、 subprocess.run(["ls", "-l"], stdout=subprocess.PIPE) print(CompletedProcess[-1]) とやってみたけど、 NameError: name 'CompletedProcess' is not defined となりました。
198 名前:デフォルトの名無しさん mailto:sage [2018/09/11(火) 20:13:26.71 ID:cR5Dh89A.net] 自己レス 引数に『universal_newlines=True」を追加したら大丈夫みたいでした。
199 名前:デフォルトの名無しさん mailto:sage [2018/09/11(火) 21:54:28.05 ID:LBODaWXG.net] >>175 それで良いと思うよ、ガンガレ
200 名前:デフォルトの名無しさん mailto:sage [2018/09/11(火) 22:09:09.67 ID:SPzv7yKx.net] >>179 ひどくないですか?流石に >>180 ありがとうございます progateというのは知り合いからオススメされてました 見てみます
201 名前:デフォルトの名無しさん mailto:sage [2018/09/11(火) 22:09:33.55 ID:SPzv7yKx.net] >>188 あざす
202 名前:デフォルトの名無しさん mailto:sage [2018/09/11(火) 22:15:10.44 ID:LBODaWXG.net] >>187 解決したならいいけど import subprocess a = subprocess.run(["ls","-l"], stdout=subprocess.PIPE) print(a) print(a.args) print(a.args[-1]) print(a.stdout.decode())#universal_newlinesつけるならいらない print(a.stdout)
203 名前:177 [2018/09/11(火) 23:32:02.26 ID:p1uFk9aE.net] Python には、多くの多言語の著者も、参入してる クジラ飛行机・大津真、 弾幕系のシューティングゲームプログラミングで有名な、松浦 健一郎・司 ゆき 猿向きなのは、掌田津耶乃・高橋麻奈 「スッキリ」「猫でもわかる」は、まだ参入していない
204 名前:デフォルトの名無しさん [2018/09/11(火) 23:57:02.57 ID:UiecLNUs.net] みんなの〜がいいのか Pythonチュートリアル買っちゃった
205 名前:デフォルトの名無しさん mailto:sage [2018/09/12(水) 00:04:21.73 ID:Qysc30q7.net] >>191 どうもありがとうございます decode()でも取り出せました。 universal_newlinesつけるのと、decode()とで、中の処理はなにが違うんでしょうか?
206 名前:デフォルトの名無しさん mailto:sage [2018/09/12(水) 00:39:20.04 ID:NOD5QCpZ.net] >>980 次スレ立てるときはテンプレに下記文言の追加よろしく。 本スレでRuby本を薦めたりRubyコードを貼ることを禁止します
207 名前:177 mailto:sage [2018/09/12(水) 00:40:25.77 ID:pVbQPMMe.net] Guido の「Pythonチュートリアル」は、ほとんど内容が無いw 詳細は何々を参照してください、ばっかりw
208 名前:デフォルトの名無しさん [2018/09/12(水) 00:59:48.52 ID:2r/3byF9.net] Pythonで以下のようなことは私のような超初心者でも可能でしょうか? 当方VBAとJavaをちょっと(API未経験)な程度のスキルしかありません 1 テキストファイルに書かれたアドレスのページを順番に保存 2 特定のページを開き
209 名前:その先にあるリンクを定期的に保存 例えば定期的に気象庁の地震速報一覧のページをまず読み、 https://www.jma.go.jp/jp/quake/quake_sindo_index.html こちらにある地震の揺れ日時リンクのリンク先 例:https://www.jma.go.jp/jp/quake/20180911100918353-11190739.html などを全て保存したいです 今は手動で保存しています [] [ここ壊れてます]
210 名前:デフォルトの名無しさん mailto:sage [2018/09/12(水) 01:06:18.26 ID:m5YCt3ez.net] matplotlibで波形を出力したいのですが a = [1,2,3,4,5,6,…,16,17,18,19,20]という配列があった時に 偶数値から奇数値の間の線を赤,奇数値から偶数値の線を青 というように条件付で一部色を変えながらplotすることはできるのでしょうか?
211 名前:デフォルトの名無しさん mailto:sage [2018/09/12(水) 01:32:48.47 ID:2r/3byF9.net] >>197 です 保存方法はテキストだけの形式と画像含めたmimeフォーマットでできないでしょうか? 情報後出しで申し訳ないです
212 名前:デフォルトの名無しさん mailto:sage [2018/09/12(水) 02:21:34.30 ID:Fp0BM1OM.net] >>199 取り敢えずPython スクレイピング で検索してみて 試してみたら? 一回なら1requestとbeautifulsoupが情報が多い 定期ならScrapyが良いのかな?
213 名前:デフォルトの名無しさん mailto:sage [2018/09/12(水) 02:26:40.00 ID:pVbQPMMe.net] 簡単なクローラーは、wget 他には、Ruby のMechanize とか もっと複雑な、JavaScript でページを作っているような動的なページは、 Ruby でSelenium WebDriver で、ブラウザを操作する
214 名前:デフォルトの名無しさん [2018/09/12(水) 06:29:26.14 ID:niWPqMtZ.net] >>192 まだJuliaには参入してない。
215 名前:デフォルトの名無しさん mailto:sage [2018/09/12(水) 07:04:54.42 ID:9GMFh4Pp.net] 今年はJuliaとかDartとか もう終わりかかってるような奴の復活宣言が多い
216 名前:デフォルトの名無しさん mailto:sage [2018/09/12(水) 13:04:47.85 ID:wa3fqHL8.net] pandasのデータフレームdfに対して次の処理をします cols=[a,b,c,d] dfx = df[cols].head(10).astype(str) 処理すべきデータフレームが複数あるとき dfa,dfb,dfc... dfxa,dfxb,dfxc... としたいのですが、ループで処理を使い回すことはできますか? dfxa=dfxb=dfxc=None for i,j in zip([dfa,dfb...],[dfxa,dfxb..]): __j =i[cols].head(10).astype(str) はダメでした ※あと↑ループ内ではNoneな変数にそれぞれ値が代入されるのに、ループ後にprintするとNoneとなる理由もわかりません
217 名前:デフォルトの名無しさん mailto:sage [2018/09/12(水) 20:43:31.59 ID:krza25ay.net] それよりも基礎やれよ 関数も分からんのだろお前
218 名前:デフォルトの名無しさん mailto:sage [2018/09/12(水) 21:26:10.04 ID:T/3USJ28.net] スペック プログラム未経験JK 退屈なことはPythonにやらせようを買ったけど難しくて入門Python3を買った 退屈なことよりも分かりやすいけどやっぱり難しい スタートブックにしたらよかったぜ
219 名前:デフォルトの名無しさん [2018/09/12(水) 21:38:01.53 ID:pVbQPMMe.net] >>197-201 「wget 入門」で検索! -i ファイル 指定したファイルに記載された、URLをダウンロードします。 -r 再帰的にダウンロードします。ページ内のリンクをたどってダウンロードします。 -l 数 --level=数 指定した階層分リンクをたどる。 「-r」オプションのデフォルトは「-l 5」なので「-l1」を指定する。 これで特定のページの、リンク先のページだけをダウンロード(DL)する -A -R で、DLするファイルの拡張子を指定する。 --spider ファイルをダウンロードせず、URLの存在だけチェックする。 -H, --span-hosts 再帰中に他のドメインも、ダウンロード対象にする -k, --convert-links HTML や CSS 中のリンクを、ローカルを指すように変更する。 ローカルPC 内だけで動くように、リンクを相対パスに変換する
220 名前:デフォルトの名無しさん mailto:sage [2018/09/12(水) 21:40:29.26 ID:pVbQPMMe.net] >>206 >>192 に書いてある
221 名前:デフォルトの名無しさん mailto:sage [2018/09/12(水) 21:42:05.84 ID:T/3USJ28.net] >>208 地雷一覧?
222 名前:デフォルトの名無しさん mailto:sage [2018/09/12(水) 23:06:58.17 ID:2r/3byF9.net] >>200 >>207 ぐぐって勉強します ありがとうございました
223 名前:デフォルトの名無しさん mailto:sage [2018/09/13(木) 00:31:00.11 ID:ECzOVYUy.net] test
224 名前:デフォルトの名無しさん mailto:sage [2018/09/13(木) 00:33:41.14 ID:ECzOVYUy.net] import re with open('aa.txt', 'r+') as f: while True: line = f.readline() ret = re.search(r"^a", line) if(ret): f.writelines("---") if not line: break
225 名前:デフォルトの名無しさん mailto:sage [2018/09/13(木) 00:34:51.38 ID:ECzOVYUy.net] ↑ テキストファイルで"a"で始まる行を"----"に書き換えようとしたのだが、 "----"が"a"で始まる行ではなくテキストの最後に追加されます。 f.writeでも同じ。 助け舟お願いします。
226 名前:デフォルトの名無しさん mailto:sage [2018/09/13(木) 00:41:01.41 ID:ttzoAgZZ.net] ファイルサイズ変わるような途中の書き換えはできないので 素直に別ファイルに書き出しましょう
227 名前:デフォルトの名無しさん mailto:sage [2018/09/13(木) 00:41:04.65 ID:X3zFvlHv.net] >>205 このレスは何が言いたいの?
228 名前:デフォルトの名無しさん mailto:sage [2018/09/13(木) 00:45:51.99 ID:ECzOVYUy.net] >>214 そうなのか サンクス
229 名前:デフォルトの名無しさん mailto:sage [2018/09/13(木) 03:04:18.35 ID:TyIiud+k.net] >>215 そこまでバカなら5chより幼稚園がオススメ
230 名前:デフォルトの名無しさん mailto:sage [2018/09/13(木) 03:27:39.30 ID:2ca+8xGJ.net] >>217 詳しく
231 名前:デフォルトの名無しさん [2018/09/13(木) 09:48:20.60 ID:Ch5jIF+X.net] >>213 1行ずつ読み込むんじゃなく、read()で全部読み込んでまとめて置換して書き出したら?
232 名前:デフォルトの名無しさん mailto:sage [2018/09/14(金) 01:19:44.19 ID:13WSTRRA.net] tqdmについて質問です。 ラジオで今放送されている番組情報を表示するスクリプトを作っててプログレスバーを付けたいです。 https://i.imgur.com/saep34j.jpg 以下がそのコード一部です。これだとスクリプトを動かした時点がプログレスバーの0%の位置なんですが、 プログレスバーの0%の位置は番組開始時間、100%が終了時間、プログレスバー長さは現在の時間ってやる事で来ますか? https://pastebin.com/BN0iYknv
233 名前:デフォルトの名無しさん [2018/09/14(金) 01:27:39.44 ID:KCZmWOCp.net] なかなか面白い事やってるね
234 名前:デフォルトの名無しさん mailto:sage [2018/09/14(金) 01:54:22.66 ID:Vmeq3cpR.net] Ubuntu16.4の環境下でPython3.6でFlask+uwsgiでRESTサーバ作っており、 そこでロギングで壁に当たってます。 汎用loggerにTimeRotatingFileHandlerをaddして1時間毎にローテーションするように実装しました。 これはハンドラが作られた時間がローテションタイミングの基準点で、そこから1時間後に ローテションって意味で、正確に毎時0分にローテーションというのは無理なのでしょうか? また、1回目のローテーションまでは正常にローテーションしてるのですが、 2回目以降が1時間単位のインターバルが無効になってるように見え、一定のファイズサイズに達すると 勝手にローテートしてしてしまいます。 これによって1回目に退避されたログが2回目の ローテーションファイルで上書きされていまい、実質ログが消えてしまいました。 これらの対策としては自分でTimeRotatingFileHandlerのサブクラスで拡張するや、 SocketHanderで受け側を作る構成にするか、または単純にFileHanderで永久出力して logrotate.dでローテーションしたほうが安全なのでしょうか? いろいろ検証してるのですが答えが見つからず・・・ 知っているかたいれば教えて対策教えてください。
235 名前:デフォルトの名無しさん mailto:sage [2018/09/14(金) 02:15:35.00 ID:13WSTRRA.net] >>221 変なことやってしまってますか?
236 名前:デフォルトの名無しさん mailto:sage [2018/09/14(金) 02:38:02.20 ID:YQ1y2eFS.net] >>222 >正確に毎時0分に、ローテーションというのは無理なのでしょうか? そういう設定があるのでは? >一定のファイズサイズに達すると、勝手にローテートしてしてしまいます それは多分、ファイズサイズでローテートする設定にしているから >これによって1回目に退避されたログが、2回目のローテーションファイルで上書きされてしまい 同じファイル名にならないように、ファイル名に時
237 名前:盾付けたりすれば? とにかく、ログローテーションの文書を読むしかないと思う [] [ここ壊れてます]
238 名前:デフォルトの名無しさん [2018/09/14(金) 03:25:15.25 ID:KCZmWOCp.net] >>223 処理の仕方じゃなくて、目的がね ラジオ番組の演目や進捗状況に活用って意味で
239 名前:デフォルトの名無しさん mailto:sage [2018/09/14(金) 03:58:34.22 ID:13WSTRRA.net] >>225 ミュージックプレーヤーのようにプログレスバーがあると、コンソールでも動きが出ておもしろいかなと思ってつけてみようと思いました。
240 名前:デフォルトの名無しさん [2018/09/14(金) 13:03:14.11 ID:7Qnl0jfy.net] Rubyの ruby -e ‘p “hello”’みたいのはPythonでどうやるの? できたとしてインデントどうするのかわからんけど
241 名前:デフォルトの名無しさん [2018/09/14(金) 13:34:13.63 ID:6AOpn7AN.net] >>220 tqdmは手動で動かすこともできるので、番組開始時間や現在の時間から計算した値をセットすればできる with tqdm(total=番組の長さ) as pbar: pbar.update(番組開始から現在までの経過時間) #残りはfor等で適宜update
242 名前:デフォルトの名無しさん mailto:sage [2018/09/14(金) 14:31:48.36 ID:GqHziv8p.net] >>227 シェルからってこと? ruby言われてもわかんない python3 -c 'for r in range(3): print("py")'
243 名前:デフォルトの名無しさん mailto:sage [2018/09/14(金) 17:19:47.96 ID:13WSTRRA.net] >>228 どうもありがとうございます forの書き方はこれであってますか? https://pastebin.com/Aapebfqk https://i.imgur.com/tn4szbK.jpg この書き方だと、スクリプトを動かしたすぐは0%のままで経過時間分のバーにはならず、forループの1回目が終わったら、経過時間をプラスした分メーターが進みました。 あと、プログレスバーの右側の 11372/14400 [10:18<50:51, 1.01s/it] ってなってる所の表示を消したり変えたりする事も出来ますか? tqdmのドキュメントにはプログレスバーの左側に文字を入れたりバーの色を変える方法は載ってたんですが右側の事は分かりませんでした。
244 名前:デフォルトの名無しさん mailto:sage [2018/09/14(金) 17:26:16.68 ID:tz1WlCUG.net] >>229 おおthx
245 名前:デフォルトの名無しさん [2018/09/15(土) 10:47:39.63 ID:Rbm//AmR.net] みんなのpythonという参考書を終えたのですが次にやるレベルの参考書教えてくれませんか?
246 名前:デフォルトの名無しさん mailto:sage [2018/09/15(土) 10:54:49.48 ID:0IDKpbCI.net] https://www.packtpub.com/packt/offers/free-learning タダやし好きなのをどうぞ
247 名前:デフォルトの名無しさん [2018/09/15(土) 11:20:31.39 ID:WA7DfSYz.net] 英語…
248 名前:デフォルトの名無しさん [2018/09/15(土) 11:38:53.49 ID:AVfR6YnT.net] thx
249 名前:デフォルトの名無しさん [2018/09/15(土) 12:08:10.76 ID:enopwIka.net] 英語だけで怯んでたら何も出来るようにならんぞ
250 名前:デフォルトの名無しさん [2018/09/15(土) 12:24:03.66 ID:QOgSOXWg.net] >>232 何作りたいの? 人工知能ならゼロから作るディープラーニング WEBアプリならdjangoの公式チュートリアル
251 名前:デフォルトの名無しさん mailto:sage [2018/09/15(土) 12:44:48.44 ID:FXFGXSpW.net] >>232 職のためにやってるならDB、Django、AWS、Docker、HTML 趣味のためにやってるならスクレイピング、SQLite、PyGame 人工知能はあまりおすすめできない 大半の人間には難しいものだし、学習データを大量に用意できないと話にならんし
252 名前:デフォルトの名無しさん [2018/09/15(土) 12:57:03.70 ID:eH38IGCF.net] >>230 pbar.update(keikaJikan) の後に pbar.set_description(refresh=True) いれたら? ドキュメントに詳しい記述がなかったので うまくいくかわからないけど
253 名前:デフォルトの名無しさん [2018/09/15(土) 13:04:52.29 ID:eH38IGCF.net] >>230 ごめんよく見たらrefresh()があった set_description(refresh=True) のかわりrefresh()入れてみて
254 名前:デフォルトの名無しさん mailto:sage [2018/09/15(土) 17:06:04.40 ID:uTfOzQke.net] >>237 「みんなのpython」読んだばかりの初心者に、 その後すぐ「ゼロから作るディープラーニング」を勧める
255 名前:フはどうかと [] [ここ壊れてます]
256 名前:デフォルトの名無しさん mailto:sage [2018/09/15(土) 17:20:15.56 ID:Ek2iwFvX.net] >>230 そういう表示変更したいならprogressbar(2)のwidgets使ったほうが便利そう
257 名前:デフォルトの名無しさん [2018/09/15(土) 17:58:30.21 ID:QOgSOXWg.net] >>241 そうかもね でも名著なのば間違い無いでしょ
258 名前:デフォルトの名無しさん [2018/09/15(土) 20:08:55.40 ID:jV44o+ul.net] >>238 何をやりたいかで変わるんじゃないの? 何も目的もなく、Python習得するわけじゃないだろうから
259 名前:デフォルトの名無しさん [2018/09/15(土) 20:12:40.41 ID:8rxpHkWL.net] 何をやりたいかで変わらんと悟るまでpythonチュートリアル何遍でも読み返しとったらええねん
260 名前:デフォルトの名無しさん mailto:sage [2018/09/15(土) 22:34:28.61 ID:VdLZkjGs.net] この2冊は双子だから、両方読む。 たのしいRuby 第5版、2016 みんなのPython 第4版、2017 入門書の次は、どの言語でも「Effective 何々」 Effective Ruby、2015 バグが起きにくい、安全で効率的なコーディングと、 間違いやすいポイントを解説 Effective Python ―Pythonプログラムを改良する59項目、2016 Web フレームワークは、無料のRails チュートリアルをやってから、 掌田津耶乃の、 Python Django 超入門、2018 Node.js超入門、2017
261 名前:デフォルトの名無しさん mailto:sage [2018/09/15(土) 23:45:55.32 ID:3GwANLPp.net] みんなのGO言語は? これは兄弟じゃないの?
262 名前:デフォルトの名無しさん mailto:sage [2018/09/16(日) 00:20:27.43 ID:0MknoGjv.net] >>239 、237、239 どうもありがとうございます! その関数とprogressbar2について調べてみます。 >>230 ので動かしてみているんですが、どうも番組終了時間になって次の番組が表示されるタイミング時点で偶にバーはまだ68%しか進んでいなかったりしました。 それでも時間が来ると次の番組情報は表示してくれるんですが何となく気持ち悪かったです。 夏休みからPythonをはじめたプログラム未経験文系豚JKの場合です。 自分が読んだ本は退屈なことはPython〜、入門Python3、Pythonではじめるデータラングリング、PythonによるWebスクレイピング、Pythonによるデータ分析入門をそれぞれ流し読みしました。 Pythonによるデータ分析入門は分析そのものの説明じゃなかったので自分には全く読めませんでした。 このスレでたくさん教えてもらって、radikoの一日の番組表の表示、今放送されている番組の表示、録音、自動でファイルへのタグ付け、オンエア曲の情報の表示やSQLに保存する、がとりあえず動くようになった。 上の過程でrequestsの使い方が分かったので、録音が終わったらSlackへの通知や、コンソールを使って動かすんじゃなくて、Hubotを使ってSlackのBotに話しかけて上の操作が出来るようになった。 次はradikoプレミアムのログインや認証にチャレンジしたいけれど、さっぱり分からない。 Pythonで何が出来るのか分かっていないから他に何をやりたいという事が思いつかないので、学習のモチベも保てない。 マルチタスク?マルチスレッドについて学ぶために番組情報の表示と再生が出来るようにしたらいいですか? もっと面白いことやりたいです。
263 名前:デフォルトの名無しさん mailto:sage [2018/09/16(日) 01:54:46.83 ID:EK9e0hMh.net] 女性なら「たのしいRuby 第5版、2016」をすすめる。 Rubyの女神・女優の池澤あやかも女性 Ruby でも、Selenium WebDriver で、スクレイピングするとか その後は、Web アプリの開発。 無料のRails チュートリアルをやる ログインぐらいなら、Selenium WebDriver で、 自動操作で、ユーザー名・パスワードを入力して、ログインできる Showroom のメニュー・アバターなども、うっとおしい
264 名前:から、それで消してる [] [ここ壊れてます]
265 名前:デフォルトの名無しさん mailto:sage [2018/09/16(日) 05:21:28.05 ID:RAxt/rA1.net] Ruby勧めてどーすんの
266 名前:デフォルトの名無しさん mailto:sage [2018/09/16(日) 05:50:28.28 ID:32fLF0l4.net] ガイジに一般的な思考で対応するな
267 名前:デフォルトの名無しさん mailto:sage [2018/09/16(日) 12:25:11.08 ID:
] [ここ壊れてます]
268 名前:TMbORASx.net mailto: とりあえず入門python3やります [] [ここ壊れてます]
269 名前:デフォルトの名無しさん [2018/09/16(日) 14:41:53.91 ID:8ER5Tq3J.net] >>252 effective pythonにすれば?
270 名前:デフォルトの名無しさん [2018/09/16(日) 17:55:04.89 ID:Zt4iEZ/q.net] ちわーくっそ初心者です。 tryとexceptの構文について質問です。 以下のコードでわざとValueErrorがでるように ターミナルに文字列を入力してるんだけど except ValueErrorしてても例外処理できないんですが、なぜだかわかる方いらっしゃいますか? 環境 python 3.6.5 mac OS 10.13.6 Atom コード a = int(input('type a number')) b = int(input('type another')) try: print(a/b) except ZeroDivisionError: print('無効な入力 / Invalid input') except ValueError: print('数値を入力してください') ターミナル type a numberあ Traceback (most recent call last): File "ExceptPractice.py", line 1, in <module> a = int(input('type a number')) ValueError: invalid literal for int() with base 10: 'あ'
271 名前:デフォルトの名無しさん mailto:sage [2018/09/16(日) 17:59:16.64 ID:75aeC/cD.net] 本気で言ってるのか inputの位置とtryブロックの範囲をよく見ろ
272 名前:デフォルトの名無しさん mailto:sage [2018/09/16(日) 18:00:51.59 ID:ynEgKPZ+.net] Python3のhttp.serverモジュールだけど HTTP/2には対応しないのかな。
273 名前:デフォルトの名無しさん mailto:sage [2018/09/16(日) 18:20:04.63 ID:MHdxl4uh.net] 公式のチュートリアルでおk
274 名前:デフォルトの名無しさん [2018/09/16(日) 18:22:33.91 ID:Zt4iEZ/q.net] >>255 アンタァ数時間におよぶ疑問を解決してくれた救世主だよ ありがとうございました
275 名前:デフォルトの名無しさん [2018/09/16(日) 18:29:11.76 ID:HF0YmRsW.net] これはひどい
276 名前:デフォルトの名無しさん mailto:sage [2018/09/16(日) 20:07:13.91 ID:nqHAh3X3.net] こういうやり取りは良いと思うな
277 名前:デフォルトの名無しさん [2018/09/18(火) 12:20:43.82 ID:IalC5NJv.net] >>212 の様にファントを変えて投稿するには どうするのですか?
278 名前:デフォルトの名無しさん mailto:sage [2018/09/18(火) 13:06:11.53 ID:Gab8FMCl.net] >>261 のビューワが勝手にASCIIアートと判断してるだけじゃね。 自分のビューワだと同じフォントに見えるよ
279 名前:デフォルトの名無しさん mailto:sage [2018/09/18(火) 19:28:18.62 ID:5C+j+SZY.net] モジュールAからモジュールBをインポートすることでモジュールAのメソッドの定義を上書きしたいんだけど可能?
280 名前:デフォルトの名無しさん [2018/09/18(火) 19:36:01.79 ID:32W6TMTL.net] モジュールAをインポートせずにモジュールBだけインポートすれば良いのでは?
281 名前:デフォルトの名無しさん mailto:sage [2018/09/18(火) 19:45:53.01 ID:5C+j+SZY.net] m1.py ―- class C1: def f1(self): print(‘aaa’) import m2 ―- m2.py ―- def f2(self): print(‘bbb’) from m1 import C1 C1.f1 = f2 ―- とかできない?
282 名前:デフォルトの名無しさん [2018/09/18(火) 20:15:26.82 ID:3Z5SLW4f.net] そおゆうトリッキーな事はできないと思え
283 名前:デフォルトの名無しさん mailto:sage [2018/09/18(火) 21:34:34.65 ID:3PaEdz0L.net] >>266 お前なら出来るだろ?
284 名前:デフォルトの名無しさん mailto:sage [2018/09/18(火) 21:34:50.63 ID:5C+j+SZY.net] class C1: def f1(self): print(‘aaa’) def f2(self): print(‘bbb’) C1.f1 = f2 C1().f1() #=> ‘bbb’ はできるのに?
285 名前:デフォルトの名無しさん [2018/09/18(火) 21:44:32.07 ID:3Z5SLW4f.net] >>268 そおゆうトリッキーな事は今すぐ忘れろ それはできないのだ
286 名前:デフォルトの名無しさん mailto:sage [2018/09/18(火) 21:54:38.88 ID:MzzhSWkv.net] C1.f1 = f2をm1でやるんじゃだめなんか?
287 名前:デフォルトの名無しさん [2018/09/18(火) 21:57:26.18 ID:6b03zZt1.net] すいません、手でカチカチっとダブルクリックした方が 早いようなことをパイソンにやらせるのはどうしてでしょうか
288 名前:デフォルトの名無しさん [2018/09/18(火) 21:57:40.61 ID:3Z5SLW4f.net] >>270 ダメにきまっとるやろw
289 名前: バカはしばらく黙っとけw [] [ここ壊れてます]
290 名前:デフォルトの名無しさん mailto:sage [2018/09/18(火) 22:04:25.92 ID:5C+j+SZY.net] テストの時にimportすると定義を上書きしてスタブを使うとかやりたいのだ
291 名前:デフォルトの名無しさん [2018/09/18(火) 22:07:14.79 ID:3Z5SLW4f.net] >>273 トリッキーな事をしたかったらせめて自分で調べて理解できるようになってからやれ これ以上はつきあわんぞ俺はまた無能に戻るからな
292 名前:デフォルトの名無しさん mailto:sage [2018/09/19(水) 00:05:43.10 ID:McwJY1yY.net] >>274 結局何も情報提供してないのに無能に戻るとどうなっちゃうの?
293 名前:デフォルトの名無しさん [2018/09/19(水) 12:06:37.88 ID:kBVhwTEM.net] >>265 C1を継承したクラスC2を作ってオーバーライドするのが真っ当だと思う import m1 class C2(m1.C1): def__init__(self, *args, **kwds): super().__init__(*args, **kwds) def f1(self): print(‘bbb’)
294 名前:デフォルトの名無しさん [2018/09/19(水) 12:10:33.79 ID:kBVhwTEM.net] >>273 を読んでなかったわ
295 名前:デフォルトの名無しさん [2018/09/19(水) 12:18:54.82 ID:PupZqwJJ.net] 最後に C1 = C2 で桶
296 名前:デフォルトの名無しさん mailto:sage [2018/09/19(水) 12:30:17.29 ID:j0vZv9bU.net] >>271 そういう作業を何千回もやる可能性があるならプログラムにやらせたほうが楽で正確だから 作業の回数が1日1回レベルだったとしても、毎日やらなきゃいけないなら やり忘れや、ちょっとした間違いを防ぐためにプログラムにやらせたほうがいいから 単純にプログラムを書くのが楽しいから
297 名前:デフォルトの名無しさん mailto:sage [2018/09/19(水) 15:16:53.25 ID:bRibFDbQ.net] pythonってVisualStudioで使えますか?
298 名前:デフォルトの名無しさん [2018/09/19(水) 17:57:22.09 ID:2g+A18ll.net] >>280 使えるよ 使ってる奴あんまいないけど
299 名前:デフォルトの名無しさん [2018/09/20(木) 00:31:03.27 ID:v2140bTt.net] ありがとうございます 言語変えるたびに環境変数とかいじったりって面倒臭そうなので 助かります
300 名前:デフォルトの名無しさん [2018/09/20(木) 09:49:06.07 ID:dj+2oZ6y.net] 大量にあるDataFrameのデータの日付が Year, month, day, ... という感じで各時間区分ごとに別れて入っているのですが、これをtimestampに変換するいい方法はありますか?
301 名前:デフォルトの名無しさん mailto:sage [2018/09/20(木) 10:51:05.31 ID:fiW+YUJ7.net] >>283 とりあえずここを見て使えそうな処理を使えばいい https://docs.python.jp/3/library/time.html 俺だったらテキストとして結合して、strptimeで処理するかな 桁揃えの必要があるならzfillを使う
302 名前:デフォルトの名無しさん [2018/09/20(木) 11:11:45.64 ID:dj+2oZ6y.net] >284 ありがとうございます、テキスト結合→strptimeをforループで回してタイムスタンプのみの配列を作るのをやってみたんですが、レコードが数百万個あるので速度からすると数十分かかりそうでした。 forループを使わずになんとか早くする方法はないでしょうか?
303 名前:デフォルトの名無しさん [2018/09/20(木) 12:19:46.96 ID:7WHuQIEO.net] numpyに入れる
304 名前:デフォルトの名無しさん mailto:sage [2018/09/20(木) 13:48:45.51 ID:fiW+YUJ7.net] >>285 1回だけの処理なら中断保存・再開できる仕組みを入れつつ数十分ぐらい我慢しろ 何度も処理しなきゃいけないなら、処理が遅いPythonにやらせるべきじゃない CやJavaみたいな処理が早い言語にやらせるべき あと、リストを渡すと処理したリストを返してくれる関数は 内部的にはforループ使ってる だから「forループを使わずに」なんて無理
305 名前:デフォルトの名無しさん mailto:sage [2018/09/20(木) 14:06:39.21 ID:2iENFSTM.net] 年月日がバラバラならtimestampのコンストラクタに年月日をそれぞれ渡したほうが多少は早い
306 名前:でないの? [] [ここ壊れてます]
307 名前:デフォルトの名無しさん [2018/09/20(木) 14:55:31.07 ID:tnMs4KBD.net] >>287 numpyみたいに内部的にはCで実装されてるライブラリもあるから使いこなせばPythonでも十分有望
308 名前:デフォルトの名無しさん [2018/09/20(木) 15:49:34.65 ID:gMhM2k+x.net] >>287 面白いねw
309 名前:デフォルトの名無しさん [2018/09/20(木) 18:01:52.58 ID:HnUdBV/V.net] WEBフレームワークにflaskを採用しようと思ってる超初心者プログラマーですが、flaskは仕事で一生使えるフレームワークなのでしょうか? フレームワークに流行り廃りはあるのは承知ですが今学ぶならRailsみたいに人気のあるフレームワークを勉強した方がいいでしょうか?
310 名前:デフォルトの名無しさん mailto:sage [2018/09/20(木) 18:07:51.35 ID:wnlFKUtW.net] 自然言語で何語を勉強しようかと迷うのに似てる
311 名前:デフォルトの名無しさん [2018/09/20(木) 18:22:22.52 ID:HnUdBV/V.net] >>292 何を選べば無難ですか?
312 名前:デフォルトの名無しさん [2018/09/20(木) 19:31:20.85 ID:DBWB48iV.net] >>291 そもそもweb屋自体おまえが働ける間生き残り続ける可能性が低いんやからいらん心配せんで好きなんやれや
313 名前:デフォルトの名無しさん [2018/09/20(木) 21:45:31.05 ID:Mlnbbzfh.net] tf-nightly 1.12.0.dev20180920 has requirement keras-applications>=1.0.5, but you'll have keras-applications 1.0.4 which is incompatible. tf-nightly 1.12.0.dev20180920 has requirement keras-preprocessing>=1.0.3, but you'll have keras-preprocessing 1.0.2 which is incompatible. tf-nightly-gpu 1.11.0.dev20180917 has requirement keras-applications>=1.0.5, but you'll have keras-applications 1.0.4 which is incompatible. tf-nightly-gpu 1.11.0.dev20180917 has requirement keras-preprocessing>=1.0.3, but you'll have keras-preprocessing 1.0.2 which is incompatible. keras-applicationsのバージョンが足りないって警告がでてくるんですがpip install keras-applications --upgradeを入力してもすでに入ってるって言ってきます どうしたらいいでしょうか ubuntu16.04.3
314 名前:デフォルトの名無しさん mailto:sage [2018/09/20(木) 22:02:59.66 ID:kFoauySG.net] >>293 Pythonを選ぶ時点で大冒険なので大差ない
315 名前:デフォルトの名無しさん [2018/09/20(木) 22:23:37.92 ID:8Bepevhe.net] >>285 の用途なら、juliaがいいんじゃないの? って思った Pythonのライブラリも呼び出せるし、移行はカンタン CSV読み込み用の不特定な型の集合を扱えるDataFrames構造も使えるから 元々大規模なデータ解析の為にjuliaが作られたようなもの 荒らしになるだけなので、この辺で
316 名前:デフォルトの名無しさん mailto:sage [2018/09/21(金) 00:13:59.10 ID:m8DL5ZJ4.net] >>291 掌田津耶乃 Python Django 超入門、2018 Node.js超入門、2017 Rails は、すべての言語のフレームワークの基礎になっているから、 無料のRails チュートリアルをやるのが定番 本当は、シンプルサーバー・Sinatra などで、フルスクラッチで書いていくと、 フレームワークを自作するのと同じになるから、よくわかる
317 名前:デフォルトの名無しさん [2018/09/21(金) 07:37:02.86 ID:PZuz7ukr.net] >>291 ですが無難にrailsにすることにしました 色々相談に乗ってもらってありがとうございました
318 名前:デフォルトの名無しさん mailto:sage [2018/09/21(金) 07:47:52.29 ID:IzrcU96S.net] それがよい
319 名前:デフォルトの名無しさん mailto:sage [2018/09/21(金) 08:34:45.57 ID:OMTVor1h.net] >>299 念の為言っとくが295はpythonスレでruby宣伝を何度注意されても辞めないム版で有名なrubyガイジだからな
320 名前:デフォルトの名無しさん [2018/09/22(土) 13:39:42.64 ID:xOVRbYWf.net] >>298 書き込みと売り上げが連動してるのか 宣伝乙
321 名前:デフォルトの名無しさん mailto:sage [2018/09/24(月) 02:48:42.15 ID:6gosj3pF.net] tkinter学んでいるプログラム初心者です。 入力欄に文字を書いて、ボタンを押すと入力した文字が入ったメッセージボックスが出てくるというプログラムを作っています。 下記プログラムにて下から4行目のlambda式はどういった意味を持つのでしょうか?確かにlambdaの記述を省くとうまく動作しないのですが、なぜそうなるのか分からなくて・・・教えてください。 import tkinter as tk import tkinter.messagebox as tkm root = tk.Tk() root.title("messagebox use") root.geometry("400x300") #メッセージボックス生成 def showMassage(text): tkm.showinfo("info",text) static1 = tk.Label(text="input space") static1.pack() #Entry 記述 entry1 = tk.Entry(width=50) entry1.insert(tk.END,"言葉を入れてください") entry1.pack() #button 設置 button1 = tk.Button(text="push",width=50,command=lambda:showMassage(entry1.get())) button1.pack() root.mainloop()
322 名前:デフォルトの名無しさん mailto:sage [2018/09/24(月) 08:23:14.19 ID:hrySGkvz.net] >>298 掌田さんの本同じシリーズのNode.jsは読んだが 取っつきやすさはいいものの実用性は低いよな あと付録のダウンロードサンプルが酷い
323 名前:デフォルトの名無しさん mailto:sage [2018/09/24(月) 08:52:45.17 ID:WK7dhq80.net] >>303 多分だけどlambda使わないと ボタンが作られた時点で関数が実行されて メッセージボックスが開いてしまうんじゃないかな
324 名前:デフォルトの名無しさん mailto:sage [2018/09/24(月) 13:07:01.64 ID:6gosj3pF.net] >>305 確かに使わない場合はそのような挙動になりました。
325 名前:デフォルトの名無しさん mailto:sage [2018/09/24(月) 17:20:23.86 ID:WK7dhq80.net] lambdaの部分を普通の関数として書き換えると def func(): def showMassage(): tkm.showinfo("info",entry1.get()) return func これってコールバック関数といわれていて内側の関数は イベントが発生した時(ボタンが押された時)しか実行されなくなる command=showMassage(entry1.get()) だと常にcommandにshowMassage(entry1.get())の値が 入ったままの状態になってしまう コールバック関数を詳しく説明できる能力がないです、ごめんなさい
326 名前:デフォルトの名無しさん [2018/09/24(月) 17:30:21.36 ID:Kttr1loZ.net] decorator
327 名前:デフォルトの名無しさん mailto:sage [2018/09/24(月) 17:37:31.00 ID:y9vcPQXH.net] クロージャーで苦労じゃー
328 名前:デフォルトの名無しさん [2018/09/24(月) 18:41:43.61 ID:otYBczLg.net] みんなのpython終わったばかりの初心者ですが画像認証はオライリーの本でいいですかね?
329 名前:デフォルトの名無しさん mailto:sage [2018/09/24(月) 18:53:58.73 ID:QjVDfSuK.net] >>310 マルチポストする屑カスはしね
330 名前:デフォルトの名無しさん [2018/09/24(月) 19:20:04.62 ID:otYBczLg.net] >>311 聞いただけなのに(´・ω・`)
331 名前:デフォルトの名無しさん mailto:sage [2018/09/24(月) 20:01:59.08 ID:y9vcPQXH.net] >>310 画像認証はオライリーの本 これってどういう意味?
332 名前:デフォルトの名無しさん mailto:sage [2018/09/24(月) 20:07:48.74 ID:QjVDfSuK.net] >>313 コピペにレスすんなし mevius.5ch.net/test/read.cgi/tech/1529888279/685
333 名前:デフォルトの名無しさん mailto:sage [2018/09/24(月) 20:12:59.31 ID:y9vcPQXH.net] >>314 マルチポストが気に入らんのならスルーしてりゃあいいじゃない いちいちウザイよ
334 名前:デフォルトの名無しさん mailto:sage [2018/09/24(月) 20:32:11.67 ID:QjVDfSuK.net] ( ゚д゚) 、ペッ
335 名前:デフォルトの名無しさん mailto:sage [2018/09/24(月) 20:38:00.99 ID:y9vcPQXH.net] >>316 https://i.imgur.com/coG5qOF.gif
336 名前:デフォルトの名無しさん [2018/09/24(月) 21:32:02.69 ID:qyE/3qBT.net] >>307 騙されそうになったが、実質自分自身を返すだけで何もしない関数じゃないかw
337 名前:デフォルトの名無しさん mailto:sage [2018/09/24(月) 21:50:36.77 ID:cIWp1XlU.net] >>303 >button1 = tk.Button(text="push",width=50,command=lambda:showMassage(entry1.get())) そのボタンを押したら、その関数・ラムダが呼ばれるだけ。 ボタンを押したときに呼ばれる、コールバック関数を指定している
338 名前:デフォルトの名無しさん mailto:sage [2018/09/24(月) 22:24:49.58 ID:y9vcPQXH.net] a = lambda x : x +
339 名前: 3 print(a(4)) def hello(x): def world(y): return x * y return world b = hello(2) print(b(9)) c = hello(3) print(c(10)) def hello(x): return lambda y: x * y b = hello(2) print(b(9)) c = hello(3) print(c(10)) [] [ここ壊れてます]
340 名前:デフォルトの名無しさん [2018/09/24(月) 23:48:46.66 ID:prONdPba.net] y未定義なのに、なにしてエラーにならんの?
341 名前:デフォルトの名無しさん mailto:sage [2018/09/25(火) 00:41:04.42 ID:5k+bdXu1.net] >>307 いや、でもなんかすごく納得できました!ありがとうございます!
342 名前:デフォルトの名無しさん mailto:sage [2018/09/25(火) 00:43:35.28 ID:5k+bdXu1.net] >>319 もありがとうございました。コールバック関数ググってみます。
343 名前:デフォルトの名無しさん mailto:sage [2018/09/25(火) 09:26:57.75 ID:iE/DG1HY.net] すいません。初心者ですがpythonインストールしたのはいいんですが何も始まらないんです。プログラムを書き込むためのウインドウはどこから開けるんでしょうか?
344 名前:デフォルトの名無しさん mailto:sage [2018/09/25(火) 09:32:43.28 ID:BC4c7eXL.net] Rubyガイジ出番だ
345 名前:デフォルトの名無しさん [2018/09/25(火) 11:28:20.97 ID:l358aERP.net] >>285 Juliaでやりましょう。
346 名前:デフォルトの名無しさん [2018/09/25(火) 11:35:40.14 ID:l358aERP.net] >>324 スタートメニューのIDLEをクリックしたらいいんじゃない。
347 名前:デフォルトの名無しさん [2018/09/25(火) 12:36:47.64 ID:b0qq2JBy.net] >>327 成る程、WindowsからPythonを使おうとしてたのか ウチはMacだから、ターミナルからPython3打ち込んでポチポチやってたから 出たしで躓くようなことなかったな UIからPython使えるAppもあるけど、単にスクリプトファイルを実行させるだけだし Windows版Jupyter noteはないのかな? これなら、Web上でPythonのプログラミングもできるから
348 名前:デフォルトの名無しさん mailto:sage [2018/09/25(火) 12:47:18.17 ID:+eWKZg0K.net] Google Collaboratoryでいいんじゃね
349 名前:デフォルトの名無しさん mailto:sage [2018/09/25(火) 12:56:01.17 ID:iE/DG1HY.net] >>327 なるほど、Integrated DeveLopment Environmentというやつですね。スタートメニューからですか。探してみます。 ちなみにarduirno等マイコンにもpythonは使えますか?
350 名前:デフォルトの名無しさん [2018/09/25(火) 15:26:23.04 ID:kqix37on.net] >>328 Windowsにjupyter notebookを入れてHello,Worldするまでのメモ https://qiita.com/SouTakenaka/items/9801f30c2fd1a378518d
351 名前:デフォルトの名無しさん [2018/09/25(火) 15:31:19.89 ID:kqix37on.net] >>330 PythonのIDLEの使い方の基本 https://gammasoft.jp/python/python-idle-basic-operation/
352 名前:デフォルトの名無しさん [2018/09/25(火) 18:08:08.89 ID:kqix37on.net] >>330 【Python】Arduinoをシリアル通信で操作 https://algorithm.joho.info/programming/python/arduino-serial/ PythonでI/O制御ができるマイコンボード 「MicroPython pyboard v1.1」 select.marutsu.co.jp/list/detail.php?id=733
353 名前:デフォルトの名無しさん mailto:sage [2018/09/25(火) 19:53:56.20 ID:nX2ocrcO.net] ありがとうございます。まだアルファベットを表記させるだけしか出来ませんがいずれはモーター等動かしてみるつもりです。
354 名前:デフォルトの名無しさん [2018/09/25(火) 22:31:30.68 ID:3QVoU2wO.net] 最近の月刊I/O見てないけど pyboard特集やってそう ラズベリーで工作しよう!な連載載ってたから I/O誌では早い時期からPython講座連載してて 掲載プログラムリストといえば Pythonが使われている 昔は、BASICやマシン語だったのに
355 名前:デフォルトの名無しさん [2018/09/26(水) 14:56:26.05 ID:gW7INjNq.net] 「算数&ラズパイから始めるディープラーニング」というのもあるな。
356 名前:デフォルトの名無しさん mailto:sage [2018/09/26(水) 18:57:46.78 ID:cGc5yci5.net] pythonの2.7使ってるんだけど文字化けとかエンコとか面倒くさくない? 簡単なスクリプト書くだけなんでwinのコンソールから文字列受け取ってそれに合わせて多少処理変えてどうのこうのーてやるだけなんだけど ideではエラー出んのにpyinstallerとかpy2exe使って配布する前に最後テストしたら文字化け頻発とかですごい混乱する
357 名前:デフォルトの名無しさん mailto:sage [2018/09/26(水) 19:03:39.24 ID:DFsxHyBv.net] >>337 めんどくさいから 今からやるなら3系にしんさい
358 名前:デフォルトの名無しさん mailto:sage [2018/09/26(水) 19:31:13.27 ID:cGc5yci5.net] >>338 仕事で使ってるsiem製品でスクリプト書いたりとかもするんだけど公式サポートしてるのが2.7らしく慣れるためにもとりあえず何でもかんでも2.7使ってる けどやっぱり普段は3にして一部要求された時に2.7のが良いんかね
359 名前:デフォルトの名無しさん mailto:sage [2018/09/26(水) 20:56:35.83 ID:DFsxHyBv.net] >>339 なんか事情があるなら仕方ない 2.7の文字問題に慣れたまへ
360 名前:デフォルトの名無しさん mailto:sage [2018/09/26(水) 20:57:51.04 ID:DFsxHyBv.net] そして 2.7が時代遅れとなった際に 3なり4なりを学び直すのである・・・
361 名前:デフォルトの名無しさん mailto:sage [2018/09/26(水) 21:57:57.79 ID:SlOVL1Du.net] 学び直すというほど変わらんけどな2と3
362 名前:デフォルトの名無しさん mailto:sage [2018/09/26(水) 22:13:37.90 ID:WQTU7aa+.net] >winのコンソールから文字列受け取って 2の時に比べたら全然マシだけど 他と連携したり、他から.py実行したりすると 3でも相変わらずエラー起きない? まあ、対処法は見つけたので困ることはないけど あ、ちなみにmacです
363 名前:デフォルトの名無しさん [2018/09/26(水) 23:12:45.83 ID:+un+mAjX.net] マカーならやむを得まい
364 名前:デフォルトの名無しさん mailto:sage [2018/09/27(木) 00:27:16.96 ID:Ft8D7cEG.net] 頭悪いからな
365 名前:デフォルトの名無しさん mailto:sage [2018/09/27(木) 00:41:45.56 ID:3K4WTrnL.net] >>337 2.7なら、標準の__future__パッケージの各モジュールをインポートすれば、 わざわざ'u'ふらずに済むし、3.*との違いはそれほど大きくない
366 名前:デフォルトの名無しさん [2018/09/27(木) 05:43:50.57 ID:i5i/991d.net] >>341 python2のサポート2020年で来れるんだけど。
367 名前:デフォルトの名無しさん mailto:sage [2018/09/27(木) 07:07:01.03 ID:L3kO3oQ5.net] >>347 もちつけ
368 名前:デフォルトの名無しさん [2018/09/27(木) 11:47:37.94 ID:+X2PETpr.net] >>337 馬鹿には無理
369 名前:デフォルトの名無しさん [2018/09/29(土) 13:56:00.42 ID:IuTgmxg/.net] pythonなんか頭悪いのしかつかってない しかもただのスクリプトのくせに普通にそのまま動かないとか どんだけ役立たずスクリプトやねんと
370 名前:デフォルトの名無しさん [2018/09/29(土) 15:44:00.08 ID:5u9meNsM.net] こっちも荒らされてるのか
371 名前:デフォルトの名無しさん mailto:sage [2018/09/29(土) 16:03:41.88 ID:UwfF5QN4.net] ここは初心者スレなんで、pythonを普通にそのまま動かせない半角みたいな初心者でも暖かく見守ってあげないと。
372 名前:デフォルトの名無しさん [2018/09/29(土) 19:05:41.87 ID:/uKoNQUv.net] python絡みで嫌なことでもあったのかな
373 名前:デフォルトの名無しさん mailto:sage [2018/09/30(日) 15:37:29.45 ID:A7oy0eHN.net] https://www.daxx.com/article/python-developer-salary-usa アメリカで需要と平均給与トップとかにわかには信じ難いんだが
374 名前:デフォルトの名無しさん mailto:sage [2018/09/30(日) 16:39:57.82 ID:eyIH13tv.net] にわかならしょうがないね
375 名前:デフォルトの名無しさん [2018/10/01(月) 15:27:24.26 ID:2uLYuzSw.net] 誰か、pythonista3 の 活用本発行して!! 絶対に売れる。
376 名前:デフォルトの名無しさん [2018/10/01(月) 16:46:09.34 ID:2dwOGw6s.net] 句読点の荒らし率は高いからこれに反応するレスがつくかつかないかで自演を判断できる
377 名前:デフォルトの名無しさん mailto:sage [2018/10/01(月) 21:46:25.11 ID:tVJz3rsp.net] Python始めたいんやけど、何からやればいいんや 今かけるのはJavaとシェルスクリプトを業務システムレベルや
378 名前:デフォルトの名無しさん mailto:sage [2018/10/01(月) 21:58:34.22 ID:ooXTjlBW.net] なにはなくともハローワールド その次がファイル入出力 その次はたぶんそれだとテキスト置換の練習とか? 今から始めるなら3.x系にしておけ
379 名前:デフォルトの名無しさん mailto:sage [2018/10/01(月) 22:01:27.51 ID:YZMrVKUg.net] Javaとシェルスクリプトを業務システムレベルやったらpythonなんて楽勝やろ
380 名前:デフォルトの名無しさん mailto:sage [2018/10/01(月) 22:03:49.06 ID:tPw9Kpxi.net] >>358 他の言語で(自分で)書いたスクリプトをPythonでフルスクラッチするというのは、 一方をよく理解しているということも相まって、違いも比較できて結構勉強になるよ。 自分の場合2.xの頃から始めたので、結果として、3.xも同様にやる羽目になったけど。
381 名前:デフォルトの名無しさん [2018/10/01(月) 22:36:46.55 ID:Mau1OsTK.net] paizaでスキルチェックやってみたら
382 名前:デフォルトの名無しさん mailto:sage [2018/10/02(火) 02:56:27.70 ID:/QfTYNRi.net] たのしいRuby 第5版、2016 みんなのPython 第4版、2017 この2冊は双子。この順に読む。 先に、たのしいをみっちり読めば、みんなのもスラスラ読め
383 名前: サイトのprogate でもよい [] [ここ壊れてます]
384 名前:デフォルトの名無しさん mailto:sage [2018/10/02(火) 06:20:21.08 ID:XHPfCFYq.net] パイキチ、またPythonスレを荒らしだしたのか マッチポンプは今時流行らないってば
385 名前:デフォルトの名無しさん [2018/10/03(水) 12:55:45.41 ID:ULIaqVnE.net] 保守上げ
386 名前:デフォルトの名無しさん [2018/10/03(水) 21:59:47.02 ID:Tma5IQla.net] 不思議なんだけど、どの言語を贔屓したいかは理解できるが他の言語を貶してなにか得することあるの? よくありがちなもので、iPhone貶してandroid上げするのは何となくだけど、まあ売り上げに貢献するかもって思うけど、プログラミング言語でそれやって誰が得するんだろう プロジェクトマネージャーが雑多なスクリプト言語を使われて管理が大変、だから制限させようとした結果ダークサイドに墜ちて、ある言語を貶すようになってしまった こんな理由でもない限り対立する意味が分からない 単純にダークサイドに堕ちて、非建設的な争いを好む人が多いってことなの?
387 名前:デフォルトの名無しさん mailto:sage [2018/10/03(水) 22:02:02.48 ID:NshUGL/I.net] >>366 まぁ現場で他人が書いた糞コードを見て苦労して言語自体にヘイトを溜めるっていうシチュエーションは少なくはないと思う
388 名前:デフォルトの名無しさん mailto:sage [2018/10/03(水) 22:22:52.23 ID:BYNnNKG/.net] 「くだすれPython」を「くたばれPython」と見間違えてるんだろうな
389 名前:デフォルトの名無しさん mailto:sage [2018/10/03(水) 22:26:57.33 ID:b6hWRg0Q.net] アイデンティティを自分以外の事物や集団に委譲している奴はそうなる その事物が傷つけられることはアイデンティティの危機となり、 事物が持ち上げられることはアイデンティティの強化になる 帰属意識が度を越したような奴だ そんなに珍しくもない
390 名前:デフォルトの名無しさん mailto:sage [2018/10/03(水) 23:54:17.11 ID:H62SNGUL.net] キモすれPython
391 名前:デフォルトの名無しさん mailto:sage [2018/10/04(木) 07:12:26.90 ID:sNcNJ12C.net] Pythonが好きだからこそ他言語を挙げて叩くというマッチポンプをやりたいんだろうな 正直そんな理由でPythonスレを荒らすなよと
392 名前:デフォルトの名無しさん mailto:sage [2018/10/04(木) 09:39:44.00 ID:uDQ1dvui.net] プログラマは知識マウントしたがる奴が多すぎて、初心者を鬱に追い込む件
393 名前:デフォルトの名無しさん [2018/10/04(木) 10:25:17.49 ID:FXVBuQxV.net] VB/VBAとPHPは貶されて当然
394 名前:デフォルトの名無しさん [2018/10/04(木) 10:57:37.99 ID:vhCji18k.net] >>373 貶されて当然とゆう事は断じてない 間違いなくペチパー、ジャバパー、そしておまえ、は現代の三大バカやけどw
395 名前:デフォルトの名無しさん mailto:sage [2018/10/04(木) 13:06:43.22 ID:OaKCCsBZ.net] 普通の荒らしかリアルでゴミみたいな扱いをされて俺の使ってる言語は凄くてそれを使える俺は偉い!他の言語使ってるようなやつはクソ野郎!ていう思考でも持っているのでは?
396 名前:デフォルトの名無しさん [2018/10/04(木) 13:18:44.19 ID:b8j5ZQ1w.net] どっちみちこのご時世でマッチポンプに引っかかる奴はいないだろ
397 名前:デフォルトの名無しさん mailto:sage [2018/10/04(木) 15:24:58.18 ID:7tiJnAAs.net] >>371 それはない。 pythonスレ以外でも全力でruby上げしてるガイジだぞ?
398 名前:デフォルトの名無しさん [2018/10/04(木) 19:16:10.73 ID:VCC0vX9L.net] if文が複数できない・・・ x = 2 if x == 2: print("数字は 2.") if x % 2 == 0: print("数字は偶数.") if x % 2 != 0: print("数字は奇数.") これを入力したいのですが4行目でエンター押して毎回エラーになります・・・なぜ…?
399 名前:デフォルトの名無しさん mailto:sage [2018/10/04(木) 19:26:51.44 ID:uDQ1dvui.net] print文
400 名前:フインデントは? [] [ここ壊れてます]
401 名前:デフォルトの名無しさん [2018/10/04(木) 19:28:37.16 ID:VCC0vX9L.net] あっすみません インデントはしっかりやってました 正確にはこうですね 失礼しました x = 2 if x == 2: print("数字は 2.") if x % 2 == 0: print("数字は偶数.") if x % 2 != 0: print("数字は奇数.")
402 名前:デフォルトの名無しさん [2018/10/04(木) 19:32:25.59 ID:VCC0vX9L.net] ただ
403 名前:アれでもエラーになるという・・・ ええ・・・if文ホントは複数無理なんじゃね・・・? って心持です 参考書のままにやってるのに・・・ ちなみにバージョンは最新だと思います 3.7(32-bit) [] [ここ壊れてます]
404 名前:デフォルトの名無しさん mailto:sage [2018/10/04(木) 20:15:29.41 ID:wVc7LVoj.net] ふーん https://ideone.com/7vnM9W
405 名前:デフォルトの名無しさん mailto:sage [2018/10/04(木) 20:48:40.74 ID:gfYLoY1b.net] >>381 2行目以降のifをelifに置き換える、が答えになると思う 一応そのままゴリ押しするなら一文ごとにelse:で閉じるでもできなくはないと思うが
406 名前:デフォルトの名無しさん mailto:sage [2018/10/04(木) 20:52:07.59 ID:P6ujSYbe.net] なんで? 今のままでエラーなんか起きないだろ?
407 名前:デフォルトの名無しさん [2018/10/04(木) 20:58:51.04 ID:S7+ANpdX.net] どんなエラー? インデントにタブとスペースが混ざってたりしない?
408 名前:デフォルトの名無しさん mailto:sage [2018/10/04(木) 20:59:28.68 ID:zeP0iUEY.net] コンソールでやらないで.pyファイル作れ
409 名前:デフォルトの名無しさん mailto:sage [2018/10/04(木) 21:11:59.01 ID:lQWMlWLo.net] これは何とも面妖な
410 名前:デフォルトの名無しさん mailto:sage [2018/10/04(木) 21:43:29.94 ID:DS3BxQCZ.net] エラーメッセージをエイリアン語か何かと思って無視する癖を止めたら、超初心者は卒業できると思うよ。 兎に角エラーメッセージを晒してね
411 名前:デフォルトの名無しさん [2018/10/04(木) 22:14:58.83 ID:KoEltKNu.net] >>381 対話モードでやってるからエラーになるんだろうな 4行目を入力する前に空行を入力して if文が終わったことを明示しなくてはならないかと 6行目のところも同じことがいえる
412 名前:デフォルトの名無しさん mailto:sage [2018/10/05(金) 01:03:06.71 ID:/hQuS5mo.net] へえ、そうなんだ、知らなかったよ
413 名前:デフォルトの名無しさん [2018/10/05(金) 02:36:56.42 ID:cxTW4oac.net] おまいら親切すぎる なつかれたら面倒
414 名前:デフォルトの名無しさん [2018/10/05(金) 06:17:27.57 ID:euHA0F3o.net] >>389 ありがとうございます 納得しました 次はエラーメッセージも晒します >>391 人になつかれたことなさそうな人がなんか言ってて笑える
415 名前:デフォルトの名無しさん [2018/10/05(金) 07:00:21.00 ID:37p1YF83.net] 分からん。。。 もう一度、プログラムを見つめ直してみる。 ポジション取るんだけど、バックテストで資金が上昇してもロットは一緒。 >>392 藁
416 名前:デフォルトの名無しさん [2018/10/05(金) 07:00:40.10 ID:37p1YF83.net] 誤爆した。。。
417 名前:デフォルトの名無しさん [2018/10/05(金) 10:49:11.38 ID:kmGDPqXy.net] エラーメッセージそのままググるだけでもだいぶ違う
418 名前:デフォルトの名無しさん mailto:sage [2018/10/05(金) 11:22:51.52 ID:vpbu8eze.net] なんで、コンソールなんか使うのか? Ruby, Python でも、VSCode を使え! 拡張機能のCode Runner で、何も考えずとも、右クリックメニューから実行できるわい!
419 名前:デフォルトの名無しさん mailto:sage [2018/10/05(金) 11:59:37.83 ID:zGlW4kB1.net] クリックとかしたくねえからだよ頭悪いな
420 名前:デフォルトの名無しさん [2018/10/05(金) 15:22:39.94 ID:xGDGeoHe.net] 関数呼び出しの構文について教えて欲しいんだけどさ AAA(BBB: CCC)とAAA(BBB=CCC)って一緒なの?
421 名前:デフォルトの名無しさん [2018/10/05(金) 15:27:22.70 ID:Ohnhdvdr.net] AAA(**{BBB: CCC})とAAA(BBB=CCC) はホボ一緒だけど 関数の定義のされ方によっては違う
422 名前:遊園地 mailto:sage [2018/10/05(金) 15:40:53.24 ID:oe8MXe/3.net] F5な。
423 名前:デフォルトの名無しさん mailto:sage [2018/10/06(土) 17:47:15.35 ID:ClYVvTDI.net] djangoでゲーム作ってる方っています? 作ってるなら、どんな感じのゲームを作ってるか知りたいです djangoでのwebアプリ制作の練習も兼ねて、ログインとかデータ保存のできるブラウザゲームを作ろうと思ってるところなんですが、個人でフレームワークを使っての開発は手
424 名前:ノ余るかな、と気になって… JavaScriptの方が管理しやすいかなぁ [] [ここ壊れてます]
425 名前:デフォルトの名無しさん [2018/10/06(土) 17:57:08.71 ID:e52HQVrn.net] どうみてもDjangoの方が楽
426 名前:デフォルトの名無しさん mailto:sage [2018/10/06(土) 18:03:47.60 ID:WCVR4P9P.net] >>402 Dangoでゲーム? フロントエンドどうすんの? JS必須だろ
427 名前:デフォルトの名無しさん mailto:sage [2018/10/06(土) 18:22:42.90 ID:ClYVvTDI.net] ほんとだ、結局JavaScriptが必要ですね それに、誰かにやってもらう場合だと、サーバー用意するか、相手の方にもPythonいれてもらわないとダメだ…
428 名前:デフォルトの名無しさん [2018/10/07(日) 08:57:44.35 ID:uCAn2+3z.net] 言語より環境の方に縛られるという事だな
429 名前:デフォルトの名無しさん [2018/10/07(日) 12:13:18.81 ID:Q039ezIc.net] 既に環境を構築してあるDockerを使え 便利だぞ
430 名前:デフォルトの名無しさん mailto:sage [2018/10/08(月) 14:28:05.12 ID:ofuYlJd2.net] webapiで取得したjsonのログデータを取得したあとcsvに変換するプログラム作ってます pandas使ってappendで1行毎dataflameを追加していく方式でやっているんですが処理時間がかなり掛かってしまいます jsonをcsvに変換する良い方法他にないですかね? jsonはかなり深くネストされておりfor文使って特定のキーの場合のみdf追加としているので処理が重そうです csvは10万行近くになります
431 名前:デフォルトの名無しさん [2018/10/08(月) 15:11:28.99 ID:+5qyKWRv.net] 元のjsonファイルと出力したいcsvのイメージ貼ってみ
432 名前:デフォルトの名無しさん mailto:sage [2018/10/08(月) 16:49:00.47 ID:QZm1evdb.net] jsonはこんな感じにvisitの中身全部が欲しいです https://jsoneditoronline.org/?id=9ceece44f53c498e925b524305f23a33 csvはこんな感じhttps://dotup.org/uploda/dotup.org1662082.jpg keyがカラムで値がフィールド、actionsの中のthreatsが配列になってるのでその部分は複数行に分けて配列数分欲しいです
433 名前:デフォルトの名無しさん [2018/10/08(月) 19:20:19.69 ID:0S7LCRH0.net] 1レコードあたりの行数に目途が付くなら 単にテキストファイルをシーケンシャルに読んで レコード毎にループして正規表現とかで処理するか 丸ごと一個のjsonを読むんじゃなくて json の visits [] の中身だけに適用して やっぱりレコード毎にループで処理
434 名前:デフォルトの名無しさん mailto:sage [2018/10/09(火) 11:08:24.97 ID:ut46KIbF.net] ちょっと何言ってるか分からないです、もう少しかみ砕いてほすぃ
435 名前:デフォルトの名無しさん mailto:sage [2018/10/09(火) 12:09:20.78 ID:lquF7TGT.net] >>411 全体的にpandasは使わずに 正規表現などを使った自前の処理でカンマ区切りのテキストを生成して テキストファイルに追記モードで行を追加していけば処理が軽くなるんじゃね ということ あと、countryとcountryCodeが常に同じペアになるなら長い方を削除するとか "os": "Windows"を"win"とか"w"に変換するとかで書き込み量を減らせば 多少早くなるかも
436 名前:デフォルトの名無しさん [2018/10/09(火) 17:28:44.16 ID:c0UbTvkE.net] jsonのobjectって結局馬鹿デカいリストだから 全部pandasに食わせるのは非効率
437 名前:デフォルトの名無しさん mailto:sage [2018/10/09(火) 19:09:14.17 ID:QlHcI7ga.net] >>410 >>412 ありがとうございます 目処は付かないですね 25000件のjsonを中の配列単位で分けていくと10万行になったて感じですので… pandasは勝手に軽いものと思ってたんですが
438 名前:そうでは無いのですね もう少し自力で試しつつ、無理そうであれば別の方法探してみます 回答ありがとうございました [] [ここ壊れてます]
439 名前:デフォルトの名無しさん [2018/10/10(水) 01:28:49.68 ID:cxHjn/W/.net] 25000件で10万レコードって意味なら 1レコードあたりたったの4行だぞ 大したことないじゃん
440 名前:デフォルトの名無しさん mailto:sage [2018/10/10(水) 01:50:02.45 ID:q9nqGoRh.net] 恥ずかしい
441 名前:デフォルトの名無しさん mailto:sage [2018/10/10(水) 07:27:32.29 ID:sjNy7la0.net] anaconda環境でnotepadでプログラム書くのできますか? Jupiter使ったほうが良いでしょうか?
442 名前:デフォルトの名無しさん mailto:sage [2018/10/10(水) 07:48:52.41 ID:qywSzTWT.net] メモ帳は、プログラミングに使ったらダメ! BOM付きUTF-8 になるから、バグる。 BOMなしUTF-8(UTF-8N)にできるエディタを使うべき! 今は、すべての言語で、VSCode を使う
443 名前:デフォルトの名無しさん mailto:sage [2018/10/10(水) 08:25:31.03 ID:sQpJ1MsF.net] jupyterな
444 名前:デフォルトの名無しさん mailto:sage [2018/10/11(木) 05:13:12.70 ID:MfMAF/GN.net] >>418 ありがとうございます。PCが古いので軽いの探します。
445 名前:デフォルトの名無しさん mailto:sage [2018/10/11(木) 06:05:36.88 ID:4dmempzq.net] >>420 メモ帳のような気楽に使える軽いWindows用エディタでTeraPadがあるよ BOMなしUTF-8にも対応してて、設定することでデフォルトで使う文字コードや改行文字などを指定できる いろいろな言語の予約語の強調表示にも対応してる TeraPad https://www.vector.co.jp/soft/win95/writing/se104390.html
446 名前:デフォルトの名無しさん [2018/10/11(木) 08:09:45.65 ID:MfMAF/GN.net] >>418 すいません、ありがとうございます。 それとパスが通ってなくコマンドプロンプトからpythonと入れても起動できなくて、anaconda3\pythonだと起動するのですが。 環境変数にC:\Anaconda3;C:\Anaconda3\Scripts;C:\Anaconda3\Library\bin;など色々試してもダメでした。 英語のサイトとかを見てもできなくて、なんか根本的な所が足りないと思います。 なにか根本から勉強できるサイトはないでしょうか?英語でもなんとか頑張ります。
447 名前:デフォルトの名無しさん mailto:sage [2018/10/11(木) 08:27:36.65 ID:55KoDwWG.net] >>422 ログインし直す
448 名前:デフォルトの名無しさん mailto:sage [2018/10/11(木) 09:45:22.82 ID:/KTbB4eS.net] Python と Javascript ではじめるデータビジュアライゼーションの50ページです https://ideone.com/Xv83M6 28行目でエラーになってしまいます。 Traceback (most recent call last): File "./hoge.py", line 28, in <module> cols.sort() AttributeError: 'dict_keys' object has no attribute 'sort' 何がいけないんでしょうか?
449 名前:デフォルトの名無しさん mailto:sage [2018/10/11(木) 11:12:50.15 ID:dGtKIiaR.net] 'dict_keys' オブジェクトは 'sort' 属性をもっていない sortメソッドはおそらくリストオブジェクトのメソッドだろうから dict_keysオブジェクトをlistオブジェクトにしたら動くと思うよ
450 名前:デフォルトの名無しさん mailto:sage [2018/10/11(木) 11:17:30.10 ID:6B3tPTW8.net] >>420 MeryやgPadがおすすめ TeraPadはUTF-8で読み書きはできるけどShiftJISに無い文字は扱えないのでおすすめしない
451 名前:デフォルトの名無しさん mailto:sage [2018/10/11(木) 11:25:22.78 ID:/KTbB4eS.net] >>425 どうもありがとうございます list()で括ったらうまくいきました 3年くらい前の本なんですが、Python2だとこれでも動いたのかそれとも誤記なのかどっちでしょうか? 次のページで、printする際に最後にコンマを付けると改行されないと書いてあったけれど、python3ではコンマ有る無しで表示結果は変わりませんでした。 print(hoge), # こんな感じで
452 名前:デフォルトの名無しさん mailto:sage [2018/10/11(木) 11:31:34.26 ID:3Bdkvxy9.net] 漏れは、TeraPad は、メモ書きに使っている。 アプリのサイズが小さい ただし、一部の文字が使えない。 中国の地名の「深圳」みたいな文字が「深?」になる
453 名前:デフォルトの名無しさん mailto:sage [2018/10/11(木) 11:35:19.88 ID:dGtKIiaR.net] >>427 詳しくはpython2とpython3の違いでググってね
454 名前:デフォルトの名無しさん mailto:sage [2018/10/11(木) 11:43:56.19 ID:3Bdkvxy9.net] >>422 例えば、コマンドプロンプトで、where notepad と入力すると以下のように、メモ帳の実行ファイルのパスが表示される C:\Windows\System32\notepad.exe C:\Windows\notepad.exe 同様に、where p
455 名前:ython と入力すれば? これで正しく表示されないのなら、 python.exe があるフォルダを、ユーザー環境変数PATH に追加する 環境変数PATHをいじるという事は、全システムの挙動を変える、危険な行為だから、 その知識がないと、開発なんてできない! [] [ここ壊れてます]
456 名前:デフォルトの名無しさん mailto:sage [2018/10/11(木) 12:31:23.10 ID:3et536X6.net] >>427 3年前でpython2なのか、スゲー本だな 訳注ぐらい入れれば良いのにね python3だとprint(hoge end='')
457 名前:デフォルトの名無しさん mailto:sage [2018/10/11(木) 12:35:06.81 ID:3et536X6.net] いけねカンマ抜けた print(hoge, end='')
458 名前:デフォルトの名無しさん mailto:sage [2018/10/11(木) 13:10:38.79 ID:bLRRmr2D.net] >>429 >>431 >>432 どうもありがとうございます。 2と3の違いググりました。 listで括らない方法はPython2でのやり方、printの最後のコンマもPython2でのやり方なんですね 2016年7月に原書が出て2017年8月に日本語版が出た本です。 今見たらprintの訳注が載ってたんですが、コンマはPython2でのやり方で3では使えないと言った事は書かれてありませんでした。 print(hoge, sep='')だとよりPythonらしい書き方だという風に書いてありました。
459 名前:デフォルトの名無しさん [2018/10/11(木) 18:42:11.43 ID:MfMAF/GN.net] >>430 ありがとうございます。 ずっとやってましたが、色々と調べててもわかりそうにありません。 anaconda3\pythonで動くのに、whereでpythonは出てこず、Path設定してもダメです。 ほんと基本がわかってないと思うので、pathにチェック入れてanacondaを再インストールしてみようと思います。 自分でいじるのは、知識をどうにかしてつけてからにします。
460 名前:デフォルトの名無しさん mailto:sage [2018/10/11(木) 20:38:12.53 ID:OPK+KI2v.net] >>434 Pythonで何をしたい?機械学習関係ならGoogle Colabがお手軽
461 名前:デフォルトの名無しさん mailto:sage [2018/10/11(木) 23:48:03.56 ID:gjrJHmO+.net] Anacondaのデフォインストール先C:\Users\<ユーザー名>\Anaconda3じゃん C:\Anaconda3にパス通しても動かなくて当たり前 コマンドプロンプトからやらずにスタートメニューのAnaconda Promptから開けばパス通ったコマンドプロンプトが開く
462 名前:デフォルトの名無しさん mailto:sage [2018/10/12(金) 05:14:13.33 ID:sf+PB/Vk.net] >>435 将来的に検索もできる対話型AIを作りたいです。 >>436 その当たり前がわからなくて、色々サイトみてて当たり前にできてるようなので、問題解決しないとダメなのかなって思ってしまいます。 パスが通ったとか、コマンドプロンプトとanaconda pronptがどういったものかもわからない状態です。 一つ一つがどういったもので、どう動いてるとかから勉強したいと思います。
463 名前:デフォルトの名無しさん [2018/10/12(金) 09:45:35.48 ID:C1pVYns8.net] Linux の基本コマンドとか、環境変数PATH など、 OS の基礎を知らない人は、開発者になれない 情報処理資格とか、コンピューターリテラシーが必要 仮想環境では、activate を実行したときだけ、 環境変数PATH に追加するようなプログラムもある activate する前には、python というコマンドは実行できないが、 activate した後には、python というコマンドが実行できる
464 名前:デフォルトの名無しさん [2018/10/12(金) 14:37:53.89 ID:46Wm2YVF.net] >情報処理資格 Linux とは関係ない 開発に必要ということは同意
465 名前:デフォルトの名無しさん mailto:sage [2018/10/13(土) 20:39:27.21 ID:i2AAnytP.net] EXCELを操作できるライブラリopenpyxl(ver2.3.0-1)なんですが行の挿入でエラーになります。 import openpyxl as py wb = py.load_workbook('aa.xlsx') ws = wb.active ws['A1'] = 'NURUPO' ws.insert_rows (1) wb.save('aa.xlsx') insert_rowsじゅないの?
466 名前:デフォルトの名無しさん mailto:sage [2018/10/13(土) 21:34:22.63 ID:f9khLXsZ.net] >>440 ちょっとググったら2.5.0から実装されたみたいよ https://qiita.com/gameover/items/13868ca9101348bdf4fc
467 名前:デフォルトの名無しさん mailto:sage [2018/10/13(土) 22:05:44.95 ID:i2AAnytP.net] サンクス バージョンアップに挑戦してみる
468 名前:デフォルトの名無しさん mailto:sage [2018/10/14(日) 00:43:28.48 ID:7a55cFNG.net] re.searchでグループ化したものを取り出す時に ?P<name>で出来たのですが re.subと同様に通常の正規表現の「\1」のように 書く書き方は出来ないですか? よろしくお願いします。
469 名前:デフォルトの名無しさん mailto:sage [2018/10/14(日) 02:11:30.62 ID:bkAbhEU5.net] >443 > m = re.search("b(.)", "abcdefg") > print(m.group(1)) c
470 名前:デフォルトの名無しさん mailto:sage [2018/10/14(日) 02:22:51.26 ID:7a55cFNG.net] >>444 ありがとうございます!
471 名前:デフォルトの名無しさん mailto:sage [2018/10/14(日) 06:13:05.25 ID:Ov+YlZxq.net] アナコンダインストールすればIDEいらない?
472 名前:デフォルトの名無しさん [2018/10/14(日) 16:58:59.85 ID:G4e8iFcg.net] Py_INCREF()を呼ぶタイミングを教えてください
473 名前:デフォルトの名無しさん mailto:sage [2018/10/14(日) 19:12:00.22 ID:NuEYON6j.net] 下のようなコードを書いたとして、 mainの中でfunc1が呼ばれない場合でもhogeはimportされますか? func1はテスト用に置いてるだけで普段は使わない関数なので普段は余計なhogeをインポートされたくないのですがやはりコメントアウトしなきゃですかね? def func1(): import hoge ... def main(): ...
474 名前:デフォルトの名無しさん mailto:sage [2018/10/14(日) 19:35:54.62 ID:FWr9wKhu.net] >mainの中でfunc1が呼ばれない場合でもhogeはimportされますか? されないよ ためしてみそ
475 名前:デフォルトの名無しさん mailto:sage [2018/10/14(日) 20:15:26.78 ID:O0tCb1jZ.net] ありがとうございます! 確かめたくても方法が分からなかったですので。助かりました
476 名前:デフォルトの名無しさん mailto:sage [2018/10/14(日) 21:15:09.25 ID:jLw0xcfm.net] >>449 どうやったら試せますか?
477 名前:デフォルトの名無しさん [2018/10/14(日) 21:16:06.39 ID:WLfX4fFS.net] キャッシュで判る
478 名前:デフォルトの名無しさん mailto:sage [2018/10/14(日) 21:44:29.12 ID:FWr9wKhu.net] >>451 >>448 の状態で、importしてないと呼び出せない機能をmainに書き込む たとえば def func1(): import re re.compile('hoge')←これはfunc1をよんでくればエラーしない def main(): re.compile('hoge') ↑func1をよんでないのにこれ書いたらエラーする
479 名前:デフォルトの名無しさん [2018/10/14(日) 21:45:08.68 ID:SE0u9ZQa.net] 日本語で
480 名前:デフォルトの名無しさん [2018/10/14(日) 21:46:06.36 ID:WLfX4fFS.net] その理屈だと一回呼んで戻ってきたら使えることになるな
481 名前:デフォルトの名無しさん mailto:sage [2018/10/14(日) 21:48:40.36 ID:FWr9wKhu.net] >>455 あー そのはっそうは なかったw 450のかき方(インデントは正しくできているものとしてクレン)したら、 func1の中でしかreのimportは効いてナインかな
482 名前:デフォルトの名無しさん mailto:sage [2018/10/14(日) 21:53:34.20 ID:FWr9wKhu.net] ちょっとちゃんと実験してみるは... 三 ( ´D`)
483 名前:デフォルトの名無しさん mailto:sage [2018/10/14(日) 21:59:28.27 ID:FWr9wKhu.net] ( ・∀・)ノフォラァヨ!!---===≡≡≡ ttp://dpaste.com/18SSZEP :main内でエラーするかきかた
484 名前:デフォルトの名無しさん mailto:sage [2018/10/14(日) 22:03:32.75 ID:FWr9wKhu.net] つづき ttp://dpaste.com/17A5RJ3 :やっぱりmain内でえらーしますた (この はっそうは なかった) けつろん >453の注釈はまちがいまくりだな!ゲヒャ(∀・∀) >>455 の疑問はどんぴしゃごもっともだった
485 名前:デフォルトの名無しさん mailto:sage [2018/10/14(日) 22:19:11.86 ID:FWr9wKhu.net] けつろん > 450のかき方(インデントは正しくできているものとしてクレン)したら、 func1の中でしか reのimportは効いてナイン
486 名前:デフォルトの名無しさん [2018/10/14(日) 22:21:07.83 ID:OWtIHbk2.net] importされたモジュールはimport 文が表れるスコープのローカル名前空間で名前を定義される https://docs.python.org/ja/3/reference/simple_stmts.html#import
487 名前:デフォルトの名無しさん mailto:sage [2018/10/14(日) 22:52:00.55 ID:FWr9wKhu.net] >>461 ありがとーん
488 名前:デフォルトの名無しさん mailto:sage [2018/10/14(日) 22:53:21.18 ID:O0tCb1jZ.net] 結局スコープ内でしか有効じゃないから確かめる方法は無いってこと?
489 名前:デフォルトの名無しさん mailto:sage [2018/10/14(日) 22:53:49.91 ID:jLw0xcfm.net] たいへん勉強になりますた。
490 名前:デフォルトの名無しさん [2018/10/15(月) 04:25:17.24 ID:0W4mw5Ny.net] >>463 >>452 キャッシュで判る 実行前にキャッシュを消して 実行後にキャッシュが出来ているかを見れば 読み込まれたか無視してるかは判る
491 名前:デフォルトの名無しさん mailto:sage [2018/10/15(月) 08:59:02.58 ID:pyA/8yHB.net] キャッシュはどうやって見れますか? mainでキャッシュ見れる関数を書くのですか?
492 名前:デフォルトの名無しさん mailto:sage [2018/10/15(月) 09:32:04.81 ID:vNVpiBIf.net] マジでアホの考えなんとやらだ importするとクラッシュするモジュールを用意して func1からimportしてみりゃーいいだろ クラッシュすればimportされてるし、しないならimportされていない
493 名前:デフォルトの名無しさん mailto:sage [2018/10/15(月) 09:56:16.94 ID:XOcEM3KA.net] importするとクラッシュするモジュールが発見出来ませんでした・・ よければ名前を教えて貰えますか?pipで入れられたらなおありがたいです。
494 名前:デフォルトの名無しさん mailto:sage [2018/10/15(月) 09:57:31.08 ID:vNVpiBIf.net] いや、自分で書けばいいだろ 馬鹿が
495 名前:デフォルトの名無しさん [2018/10/15(月) 10:31:21.43 ID:/DZZgAIK.net] importするmoduleを自分で書くなら moduleの初期化時にprint('読まれたよ!')って書いて置けば桶
496 名前:デフォルトの名無しさん mailto:sage [2018/10/15(月) 12:38:01.14 ID:A4+xGAqj.net] なんなの遊園地?
497 名前:デフォルトの名無しさん [2018/10/15(月) 16:32:59.34 ID:13a7w8hI.net] >>470 天才現る!
498 名前:デフォルトの名無しさん [2018/10/15(月) 18:05:35.02 ID:5iEXqQwD.net] >>463 スコープ内で有効だから確かめられないではなくグローバル変数にすれば良いのでは def func(): import re as _re global re re = _re def main(): func() #コメントアウトするとprintでエラー print(re)
499 名前:デフォルトの名無しさん [2018/10/15(月) 18:19:51.97 ID:/DZZgAIK.net] def main(): #func() #func()無関係にprintでエラー import re as _re print(re)
500 名前:デフォルトの名無しさん mailto:sage [2018/10/15(月) 21:29:43.28 ID:E6pr56BO.net] 私たち日本人の、日本国憲法を改正しましょう。 総ム省の、『憲法改正國民投票法』、でググって みてください。拡散も含め、お願い致します。
501 名前:デフォルトの名無しさん mailto:sage [2018/10/15(月) 21:35:11.02 ID:E6pr56BO.net] 私たち日本人の、日本国憲法を改正しましょう。 総ム省の、『憲法改正國民投票法』、でググって みてください。拡散も含め、お願い致します。
502 名前:デフォルトの名無しさん mailto:sage [2018/10/16(火) 17:08:42.26 ID:u7YyW5Kg.net] 自作クラスのインスタンスが持ってる変数を全て、保存しておいた値に戻すようなコードを書きたいのだけれど、どうやって書けばいいかな? ある時点の値にロールバックしたいということなのだけれど、継承していてもちゃんと動作するようにしたい 想定している処理はこんな感じ class A: def rollback(self): 全部のインスタンス変数を self.backup の値に戻す def make_backup(self): self.backup = バックアップを作成 class B(A): def proc(self): self.make_backup() # なんか処理 self.rollback() 設計が悪いと感じたらなにか代替案を教えていただければ嬉しいです
503 名前:デフォルトの名無しさん [2018/10/16(火) 18:16:27.10 ID:YLHbxnbG.net] pickle
504 名前:デフォルトの名無しさん mailto:sage [2018/10/16(火) 18:24:52.10 ID:LVmCdvc6.net] あの、プログラム終わったら次のプログラムを起動したいのですがどうやったら開けますか? 最後にはシャットダウンしたいです。 p1.py実行 →最後の行でp2.pyを呼び出す →p2.py実行 ... →最後の行でpn.pyを呼び出す →pn.py実行 →最後の行でシャットダウン こんな感じでやりたいです。
505 名前:デフォルトの名無しさん [2018/10/16(火) 18:28:08.45 ID:YLHbxnbG.net] subprocess.Popen
506 名前:デフォルトの名無しさん mailto:sage [2018/10/16(火) 18:32:15.10 ID:LVmCdvc6.net] ありがとうございます、できそうです。
507 名前:デフォルトの名無しさん mailto:sage [2018/10/16(火) 18:34:41.31 ID:+Y6Wm7U2.net] パイパイを実行?
508 名前:デフォルトの名無しさん mailto:sage [2018/10/16(火) 21:07:08.91 ID:uMB0oNTu.net] >>479 それチェーンにしないとダメなの? 普通にp1.py, p2.py, ..., pn.pyを次々に呼び出して最後にシャットダウンするシェルスクリプトなり
509 名前:バッチファイルなりを書けばいいような気もするんだが [] [ここ壊れてます]
510 名前:デフォルトの名無しさん mailto:sage [2018/10/17(水) 11:21:44.01 ID:tSH31TrF.net] >>477 グローバル変数使うんじゃだめ?
511 名前:デフォルトの名無しさん [2018/10/17(水) 11:49:20.45 ID:LtC7K5yP.net] ORM
512 名前:デフォルトの名無しさん mailto:sage [2018/10/17(水) 12:47:48.23 ID:tSH31TrF.net] >>477 >>484 です。知ったかぶりしてすみません。グローバル変数ではなくクラス変数でした。 test.pyで class MyClass: commonVALUE=0 def __init__(self,initv): self.value=initv def p(self): print(f'instance value= {self.value}') print(f'class value= {MyClass.commonVALUE}') def bkup(self): MyClass.commonVALUE=self.value def bkload(self): self.value=MyClass.commonVALUE としといて >>> from test import * >>> a=MyClass(100) >>> b=Myclass(0) >>> a.bkup() >>> b.p() instance value= 0 class value= 100 >>> b.bkload() >>> b.p() instance value= 100 class value= 100 この後で >>> c=MyClass(-1)とあらたにインスタンスを作っても >>> c.p() instance value= -1 class value= 100 で、クラス変数は0にはならないみたい。
513 名前:デフォルトの名無しさん mailto:sage [2018/10/17(水) 13:06:09.93 ID:tSH31TrF.net] 行数制限のため連投ですみません。 継承も大丈夫です。 >>> class B(MyClass): ... def dec(self): ... self.value-=1 >>> d=B(1) >>> d.p() instance value= 1 class value= 100 >>> a.bkup() >>> d.p() instance value= 1 class value= 100 >>> d.bkload() >>> d.dec() >>> d.p() instance value= 99 class value= 100
514 名前:デフォルトの名無しさん [2018/10/17(水) 13:31:27.53 ID:LGIAN4QA.net] pickle
515 名前:デフォルトの名無しさん mailto:sage [2018/10/17(水) 13:35:53.65 ID:cWz6TRDk.net] >>486 それじゃクラス共通になってまうやん インスタンス毎にバックアップデータ持てないから意図と違うと思う >>477 で良いと思うけど、何を懸念してるのかを書くともっといい案をもらえそう
516 名前:デフォルトの名無しさん mailto:sage [2018/10/17(水) 17:07:18.34 ID:tSH31TrF.net] >>489 クラスと継承クラス共通でバックアップって意味じゃないの? そりゃスマンコってす ... 各インスタンスごとのバックアップを作って、一括でpush/popしたいなら、 リストの要素を各インスタンスをにしといて、 for i in in instance_list: i.backup() とかにすればいいだけなんでねの?
517 名前:デフォルトの名無しさん mailto:sage [2018/10/18(木) 10:08:35.95 ID:0gY6dccD.net] >>490 push-popと言いながらプログラムはpush-popじゃないのはわざと?
518 名前:デフォルトの名無しさん [2018/10/18(木) 16:41:15.03 ID:551Ojw2f.net] def 関数(arg1,arg2): ゴニョゴニョ return ←これが全く理解できないんだけど、目からウロコみたいなページみたいなのないです? returnが入ると全くわからない。
519 名前:デフォルトの名無しさん mailto:sage [2018/10/19(金) 07:14:22.21 ID:97FgwNUY.net] codecs.openて普通のopenより処理重いきがするんですが認識あってるかね? 2.7使ってて文字コード指定で100mb前後のtxtなりcsvてり触りたいんだけど通常のopenでは文字指定出来ず、ioモジュールのopen使うと他のライブラリで使ってるopenの挙動がおかしくなる(?)し、codecs遅いしでどうするのがスマートなのかわからん
520 名前:デフォルトの名無しさん mailto:sage [2018/10/19(金) 08:17:42.62 ID:5hJcbR3H.net] codecs.openを使う そもそもopenに追加処理をしてるのだから、重くて当たり前だろう
521 名前:デフォルトの名無しさん [2018/10/19(金) 12:51:38.13 ID:jQ8EJjtV.net] > 488 https://youtu.be/neqp_mK1PWM#t=4694s
522 名前:デフォルトの名無しさん mailto:sage [2018/10/20(土) 14:00:43.26 ID:aYMp4dZA.net] https://github.com/michaldaniel/Ebook-Viewer こちらのgitで公開されているLinux用epubビューアを改造して使いやすくしようと思っているのですが、 行き詰まってしまいました。 ブラウザの戻るボタンのようにリンク先(引用元など)に飛んだ後、直前に戻るボタンを実装したいのですが (ボタンはgtk3の都合上up arrowボタンを使っています) 改造したのはheader_bar.pyでして、 def __populate_headerbar(self): (途中省略) # Adds up arrow chapter navigation button self.up_arrow_button = Gtk.Button() self.up_arrow_button.add(Gtk.Arrow(Gtk.ArrowType.UP, Gtk.ShadowType.NONE)) self.up_arrow_button.set_sensitive(False); self.up_arrow_button.connect("clicked", self.
523 名前:__on_up_arrow_clicked) navigation_box.add(self.up_arrow_button) (途中省略) def __on_up_arrow_clicked(self, button): """ Handles Up Arrow clicked navigation event, go backward :param button: """ if viewer.Viewer.can_go_back(): viewer.Viewer.go_back() とすると、 WebKit.WebView.can_go_back() takes exactly 1 argument (0 given) というエラーがでてしまいます。 (viewer.Viewerはwebkitを継承したものです) どなたかお知恵をお貸し願えたら幸いです。 [] [ここ壊れてます]
524 名前:デフォルトの名無しさん [2018/10/20(土) 14:07:46.36 ID:u8BRF3D8.net] 99blues.dyndns.org/blog/2010/01/pywebkit/
525 名前:デフォルトの名無しさん mailto:sage [2018/10/20(土) 14:24:18.46 ID:n6bj2eyU.net] >>496 インスタンスメソッドをクラスメソッドみたいにして読んでるから、第一引数として暗黙的に渡されるはずだったselfが足りないって怒られてる。 ソースを斜め読みするとViewerのインスタンスはインスタンス構造上の親であるMainWindowが持っているようなので、 self.__window.viewer.can_go_back()でアクセスできるんじゃないかな
526 名前:493 mailto:sage [2018/10/20(土) 15:04:15.12 ID:aYMp4dZA.net] >>498 if self.__window.viewer.can_go_back(): self.__window.viewer.go_back() と書いてやってみたらエラーメッセージはでませんでしたが画面が真っ白になってしまいました。 とはいえ、当初のエラーは解消したので大きな進歩です。どうもありがとうございました。 後は勉強がてら自分でやってみます。
527 名前:デフォルトの名無しさん mailto:sage [2018/10/20(土) 15:04:58.12 ID:aYMp4dZA.net] >>497 さんもレスありがとうございました。
528 名前:デフォルトの名無しさん mailto:sage [2018/10/20(土) 18:30:22.23 ID:V2vR4ZZl.net] >>492 defがここでおしまいですよ 呼び出し元にかえりんしゃー という意味
529 名前:デフォルトの名無しさん mailto:sage [2018/10/20(土) 18:31:25.93 ID:V2vR4ZZl.net] >>493 from codecs import open as codecsopen とかやって、 codecsまるごとじゃなくcodecs.openだけ読むようにすればちょっとははやくできる ちょっとは。
530 名前:デフォルトの名無しさん mailto:sage [2018/10/22(月) 23:03:44.42 ID:bT6j7LGV.net] 素人質問で申し訳ないのですが助けていただきたく質問します。 いま「みんなのPython」をやりはじめたのですが Anacondaがうまくできません 最初に普通?のPythonをインストールして そのあとにPythonをアンインストールしたあと Anacondaをインストールしました。 そして「ファイル名を指定して実行」で「python.exe」と入力しても 「'python.exe'が見つかりません」となってしまいます。 Windows PowerShellで「>python」と入力しても 「用語 'python' は、コマンドレット、関数、スクリプト ファイル、または操作可能なプログラムの名前として認識されません」 となってしまいます。 Anacondaのインストールでは 「Add Anaconda to my PATH environment variable」にはチェックは入れてません 「Register Anaconda as my default Python 3.6」にはチェックを入れました。
531 名前:デフォルトの名無しさん mailto:sage [2018/10/22(月) 23:37:57.82 ID:aY20u7RH.net] 英語よめや。
532 名前:デフォルトの名無しさん mailto:sage [2018/10/22(月) 23:54:05.62 ID:bT6j7LGV.net] >>504 環境変数PATHを設定する | Pythonインストールと環境設定 https://www.javadrive.jp/python/install/index3.html このサイトに書いてあるようにやったらできたんですけど これでいいんですか?
533 名前:デフォルトの名無しさん mailto:sage [2018/10/23(火) 01:14:29.19 ID:uxH9lXGD.net] カレントフォルダからは「相対パス/python.exe」で実行できる。 カレントフォルダ以外からも実行したいのなら「絶対パス/python.exe」で実行できる カレントフォルダ以外からも「python」というコマンドで実行したいのなら、 「python.exe」のあるフォルダを、ユーザー環境変数PATH に登録しないといけない 例えば、コマンドプロンプトで、以下のように入力すると、 where notepad where python そのコマンドの実行ファイルのある、場所を表示できる
534 名前:デフォルトの名無しさん mailto:sage [2018/10/23(火) 06:47:31.22 ID:EmL9QD5v.net] はじめまして ラズパイでpythonを利用してます。 Python3 ide?でファイルを実行するとmoduleエラーが起
535 名前:きるんですけど、lxterminalで実行したりcronで実行するとエラーはでないで実行できます。 実行できるので問題ないのですが、なんでpython3 ideで実行するとmoduleエラーになるのかが気になります 詳しい方 お気づきがあれば教えてください [] [ここ壊れてます]
536 名前:デフォルトの名無しさん mailto:sage [2018/10/23(火) 07:07:12.22 ID:EmL9QD5v.net] 追加ですが温度センサー使ってます。githubからすべて入手したものです。 ググってもなぜかエラー出るよみたいなことが書かれていて原因は不明だったのでお聞きしました。
537 名前:デフォルトの名無しさん mailto:sage [2018/10/23(火) 10:24:36.04 ID:d2CNB2CT.net] Python3でのsqlalchemyについて教えてください https://ideone.com/tVSjwB 56行目のsession.commit()でエラーになってしまいます。 sqlalchemy.exc.IntegrityError: (sqlite3.IntegrityError) CHECK constraint failed: winners [SQL: 'INSERT INTO winners (name, category, year, nationality, sex) VALUES (?, ?, ?, ?, ?)'] [parameters: ('Marie Curie', 'Chemistry', 1911, 'Polish', 'Female')] (Background on this error at: sqlalche.me/e/gkpj ) こんな風に書かれてあります。(長いのでここに書くときに改行しました) 何がいけないのでしょうか?
538 名前:デフォルトの名無しさん [2018/10/23(火) 10:29:07.79 ID:ki4w8hD+.net] >>507 同じPythonを実行してる?(公式の純正PythonとAnacondaとか)
539 名前:デフォルトの名無しさん [2018/10/23(火) 10:35:04.61 ID:ki4w8hD+.net] >>509 yearはStringじゃなくてIntegerじゃ…?
540 名前:デフォルトの名無しさん mailto:sage [2018/10/23(火) 10:40:12.34 ID:d2CNB2CT.net] >>511 ほんとだ!あと、リストのMarieの性別も頭が大文字になってました。 凡ミスなのにありがとうございます!
541 名前:デフォルトの名無しさん mailto:sage [2018/10/23(火) 10:45:40.79 ID:d2CNB2CT.net] >>509 あと、29行目の%の所でpep8のE228の注意が出てしまいます。 %の前後にスペースを入れて、こう書くのが正しいんでしょうか? https://ideone.com/qhYas5
542 名前:デフォルトの名無しさん [2018/10/23(火) 10:48:34.83 ID:ki4w8hD+.net] >>513 その方がpep8に則ると正しいね
543 名前:デフォルトの名無しさん mailto:sage [2018/10/23(火) 10:56:47.49 ID:zGwQ/J/L.net] >>514 どうもありがとうございました
544 名前:デフォルトの名無しさん mailto:sage [2018/10/23(火) 11:09:52.98 ID:zGwQ/J/L.net] 連投すみません SQLAlchemyでのデータベースへのアクセスについてですが、filterとfilter_byってどう使い分けするんでしょうか? 違いが分からないです # スイス人受賞者の取得 # filter_by の場合 result = session.query(Winner).filter_by(nationality='Swiss') # filter の場合 result = session.query(Winner).filter(Winner.nationality == 'Swiss') print(list(result))
545 名前:デフォルトの名無しさん mailto:sage [2018/10/23(火) 11:13:00.78 ID:aeA+1VC2.net] gtk3とpythonのpygobjectで質問があります。 https://stackoverflow.com/questions/41696515/webkit2gtk-webview-touchscreen-scrolling こちらの質問にあるとおり、webkit2gtkを使うとlibwebkit1-3.0の時のようなタッチスクリーンによる スクロールができなくなってしまうのですが、何とかタッチによるスクロール(パンというようですが) をしたいのです。こちらの質問者の方はコールバック関数にスクロールイベントを書いたらできたと 書いてありましたが、具体的にはどのように記述すれば良いのでしょうか? https://lazka.github.io/pgi-docs/ こちらのpygobjectのAPIを見てもよくわかりませんでした。どうかよろしくお願いします。
546 名前:デフォルトの名無しさん mailto:sage [2018/10/23(火) 11:16:03.36 ID:zGwQ/J/L.net] >>516 ですけど、 ふた通りの書き方があるよ、Pythonらしく、より簡単に書く方法はfilter_byの方だよって事ですかね?
547 名前:デフォルトの名無しさん mailto:sage [2018/10/23(火) 12:43:50.18 ID:EmL9QD5v.net] >>510 同じpythonです。ラズパイにはじめからはいってるやつです。 ほんと謎 パスかなと思ったけど動いてるから違うんやとおもうけど
548 名前:デフォルトの名無しさん [2018/10/23(火) 13:18:18.96 ID:ki4w8hD+.net] >>518 軽くググッてから投稿してみよう https://stackoverflow.com/questions/2128505/whats-the-difference-between-filter-and-filter-by-in-sqlalchemy
549 名前:デフォルトの名無しさん [2018/10/23(火) 13:20:20.07 ID:ki4w8hD+.net] >>519 バージョンも同じなら、理由はわからんなぁ…
550 名前:デフォルトの名無しさん [2018/10/23(火) 17:07:59.89 ID:J7zWeAP4.net] みんなやさしいな
551 名前:デフォルトの名無しさん mailto:sage [2018/10/23(火) 18:06:12.08 ID:Afmb5nM2.net] 別のフォルダに入った同名ファイルをjoblibのParallelで処理するために以下のようなコードを書いたところ1番目のフォルダの結果が常に出てきてしまうんだけど原因分かる? ・環境 Python: 3.7.0 joblib: 0.12.5 Jupyter Notebook上で実行 ・ファイル C:\a\a.txt -> 「1」とだけ半角で書かれたテキストファイル C:\b\a.txt -> 「2」とだけ半角で書かれたテキストファイル ・コード import numpy as np from joblib import Parallel, delayed # 実際はもっと大容量のファイルに対して重い処理を行う def read_file(): return np.loadtxt("a.txt") os.chdir(r"C:\a") result1 = Parallel(n_jobs=-1)(delayed(test)() for _ in range(1)) os.chdir(r"C:\b") result2 = Parallel(n_jobs=-1)(delayed(test)() for _ in range(1)) # 空のフォルダcに移動する os.chdir(r"C:\c") result3 = Parallel(n_jobs=-1)(delayed(test)() for _ in range(1)) print(result1) # 出力 : [array(1.)] print(result2) # 出力 : [array(1.)]・・・[array(2.)]が出力されないのはなぜ? print(result3) # 出力 : [array(1.)]
552 名前:デフォルトの名無しさん mailto:sage [2018/10/23(火) 22:14:21.56 ID:86mV9f+c.net] ファイルの数を返すメソッドはありますか? 例えばsrcの下にディレクトリaとbがあって それぞれのディレクトリにa1.txt〜a100.txt、b1.txt〜b100.txtとファイルがあった時に 200と返してくれるメソッドはありますか? defで関数とか作らず1行で済む方法を探しています。
553 名前:デフォルトの名無しさん mailto:sage [2018/10/23(火) 22:22:44.49 ID:zYWUn764.net] len(os.lisdir(ディレクトリのpath))
554 名前:デフォルトの名無しさん mailto:sage [2018/10/23(火) 22:36:02.00 ID:BDP8ufz9.net] いまやってみたらそのコードでは2が帰って来ました aとbの2つのディレクトリがあるから2なのですかね? 欲しいのはそのまた下にあるファイルの数でした
555 名前:デフォルトの名無しさん [2018/10/23(火) 22:46:04.08 ID:oFF/C26V.net] Pythonは詳しく無いけど、そう言うは再帰でディレクトリが無い最下層まで潜るコードってよく見るね。
556 名前:デフォルトの名無しさん [2018/10/23(火) 23:35:56.37 ID:EZC/vVVW.net] >>524 import glob len(glob.glob(“**/*”, recursive=True))
557 名前:デフォルトの名無しさん [2018/10/23(火) 23:36:52.55 ID:EZC/vVVW.net] src/**/* だったわ
558 名前:デフォルトの名無しさん [2018/10/23(火) 23:53:26.39 ID:BmpWcPqj.net] >>524 sum([len(files) for root, dirs, files in os.walk("src")])
559 名前:デフォルトの名無しさん mailto:sage [2018/10/24(水) 00:12:08.40 ID:2LYWqLo0.net] >>507 パス・カレントディレクトリとか、起動時オプションとか。 別の実行ファイルを起動しているとか IDE の前提条件は、プロジェクトごとだろ。 プロジェクトフォルダ・プロジェクト設定ファイルありきだろ。 プロジェクトの条件を満たしていないのかも? プロジェクトとシェルから実行する形式とは、異なるような気がする そのエラーメッセージをここにも書いて、それで検索すれば? >>516-520 「python sqlalchemy filter vs filter_by」で検索!
560 名前:デフォルトの名無しさん mailto:sage [2018/10/24(水) 00:33:01.65 ID:2LYWqLo0.net] >>524-530 ls -1UR | wc -l 「linux ファイル数 ディレクトリごと」で検索!
561 名前:デフォルトの名無しさん mailto:sage [2018/10/24(水) 00:58:29.86 ID:2LYWqLo0.net] >>517 「gtk webkitwebview」で検索!
562 名前:デフォルトの名無しさん mailto:sage [2018/10/24(水) 15:19:12.25 ID:B3/hQHxI.net] 521,523です 教えていただいたのをやってみました。 525さんの方法は、フォルダーの数が含まれていました。結果は202が返りました。 527さんの方法は、ちょうど200が返りました。 529さんの方法は、windowsなので出来ませんでした。 これにて問題は解決しました。皆さまありがとうございます。
563 名前:514 mailto:sage [2018/10/24(水) 17:55:05.58 ID:Vc8wznQf.net] https://webkitgtk.org/reference/webkit2gtk/stable/WebKitWebView.html >Note that WebKitWebView is scrollable by itself, so you don't need to embed it in a GtkScrolledWindow. って書いてありました。スクロールをGtkで担当していないから、他のgtk3アプリのようにタッチでスクロールできないようです。でも、だったらなんで>>517 のリンク先の人はGTK.gestureでできたんだろう・・・
564 名前:デフォルトの名無しさん [2018/10/24(水) 18:10:34.94 ID:95IsyUjL.net] >なんといっても、800g弱とは思えない軽さと、 薄型コンパクトな筐体はタブレットと同様に、 「出番はないかもしれないけど常時携行しても良い」レベルです。 いざ使おうとすると windows update が始まって再起動…何時間も待たされる…鞄にしまう。 ↓ 放置 ↓ 「出番はないかもしれないけど常時携行しても良い」 ↓ また持ち出す ↓ いざ使おうとすると windows update が始まって再起動…何時間も待たされる…鞄にしまう。 ↓ 放置
565 名前:デフォルトの名無しさん mailto:sage [2018/10/24(水) 18:40:13.35 ID:IR3xnlxd.net] リストにn個の要素があります。 このリストの要素から2個をランダムに選んだペアをm組作りたいです。 ただしペアを重複しないようにしたいのですが、 どうすれば実装できるでしょうか。もしくはライブラリがありますか? いくら考えてもペアが重複してしまいます。(特に(a,b)と(b,a)のようなペアが出来てしまいます) n=[1, 2, ... n] m=3 new_n=f(n, m) new_n =[(1,8), (45,n), (n-2, 20)] みたいになるfを探しています。
566 名前:デフォルトの名無しさん mailto:sage [2018/10/24(水) 18:54:46.79 ID:Uqd3UckS.net] >>537 itertools
567 名前:デフォルトの名無しさん mailto:sage [2018/10/24(水) 18:57:07.94 ID:K3Hn81Y7.net] リストの中身をシャッフル→前から二つずつ取得
568 名前:デフォルトの名無しさん mailto:sage [2018/10/24(水) 18:57:08.14 ID:Uqd3UckS.net] >>535 ここで回答を待つよりリンク先に直凸したほうがはやいきががが Why could you "scroll" with GTK.gesture?
569 名前:デフォルトの名無しさん mailto:sage [2018/10/24(水) 19:10:02.77 ID:TphPHDjb.net] scrapyとXParhについて教えてください https://ideone.com/af79WT うまく動いてくれないです。 67行目からの関数が間違えてると思うんですが、77行目のp_templateはどう書くのが正しいんでしょうか? 9行目は # https://github.com/Kyrand/dataviz-with-python-and-js 17行目は BASE_URL = 'en.wikipedi
570 名前:a.org' 40行目は start_urls = ["https://en.wikipedia.org/wiki/List_of_Nobel_laureates_by_country"] 80行目は # https://www.wikidata.org/wiki/Q155525 です。 [] [ここ壊れてます]
571 名前:デフォルトの名無しさん mailto:sage [2018/10/24(水) 19:14:14.74 ID:IR3xnlxd.net] >>538 これは指定した組み合わせ数に達
572 名前:したら中断する方法はありますか? 実際にはnとmが両方4000程なので、nC2を全て取得するのは冗長と思われるので・・ とはいえやりたいことにとても近いのでありがとうございます。 >>539 実際にはm>n/2となるので難しいと思いました。 すみませんこちらの例題が悪かったですね・・ [] [ここ壊れてます]
573 名前:デフォルトの名無しさん [2018/10/24(水) 19:14:37.21 ID:/bxb9sB2.net] >>537 itertoolsとrandom
574 名前:.sampleを組み合わせる import itertools, random def pair(n, m): combi = list(itertools.combinations(n, m)) return random.sample(combi, m) [] [ここ壊れてます]
575 名前:デフォルトの名無しさん mailto:sage [2018/10/24(水) 19:51:07.40 ID:8aeYqShI.net] >>509 これ、モジュールを入れてますが、ideoneで外部モジュールってどうやって使うんです?
576 名前:デフォルトの名無しさん mailto:sage [2018/10/24(水) 20:02:29.89 ID:Uqd3UckS.net] >>542 いつでもやめれるぞ おれはあほだから count=0からカウントアップしていって 欲しい組数になったらbreak とか思いつくが もっとスマートなやり方あるとおもう
577 名前:デフォルトの名無しさん mailto:sage [2018/10/24(水) 20:03:01.03 ID:Uqd3UckS.net] >>544 ソースが貼れるだけで 外部モジュールをとってきて動かすまではideoneしてくれない
578 名前:デフォルトの名無しさん mailto:sage [2018/10/24(水) 20:26:18.89 ID:Uqd3UckS.net] >>541 大抵は日付Gregorianで書いてあるとおもうから 文字列Gregorianの 前の文字列を探したらよさげなんだが 80行目のアドレスにアクセスして見てみた Xpathがもはや538が書いたソースと違っつる (/html/body/pre/span[1577] ってなってて divに1ツも入ってないYO)ので 具体的にどうとは書けない
579 名前:デフォルトの名無しさん mailto:sage [2018/10/24(水) 23:59:09.70 ID:2LYWqLo0.net] wikipedia みたいに、しょっちゅう構成が変化するものを、 XPath みたいに順番で指定するものは、動かない div[2]/div[1]/div/div[2]/div[2]/div[1] 「div の3つ目の、div の2つ目の...」 CSS セレクターみたいに、id, class などの意味で指定する方が、構成の変化に強い。 まだマシ HTML を解析して、id, class などで限定していくのが基本
580 名前:デフォルトの名無しさん [2018/10/25(木) 01:12:10.66 ID:33Q6k0An.net] 今日突然プログラミングに興味を持ちとりあえずpythonをインストールした初心者です。 連番を作成するとき range(10)と打ち込んでも結果がrange(0,10)になってしまいます 解説サイトを見ると9まで表示されるらしいのですが、なぜrange(0,10)になってしまうのでしょうか? バージョンは3.7.1です
581 名前:デフォルトの名無しさん mailto:sage [2018/10/25(木) 02:20:57.87 ID:NT+vxu3F.net] >>549 解説サイトがpython2向けだから。 別のサイトを見つけましょう
582 名前:デフォルトの名無しさん mailto:sage [2018/10/25(木) 02:27:15.39 ID:ZE3NVml1.net] Ruby の範囲は、 終端を含む、.. と、含まない ... がある 0..3 → 0〜3 0...3 → 0〜2 python では、終端を含まないのかな? 推測だけど、range(10)と引数が1つの場合は、終端のみが指定されたとみなすのだろう。 その場合、始端は0 が指定されたのと同じ つまり、range(0,10)と同じ
583 名前:デフォルトの名無しさん mailto:sage [2018/10/25(木) 07:58:15.11 ID:ANca8D/1.net] >>547 538を書いたのは昨日だけど、今試しても80行目のアドレスのdate of birthのXPathは //*[@id="P569"]/div[1]/div/a 8 October 1927の部分のXPathは //*[@id="q155525$82312275-D23F-4048-A710-6EC6AB12C2C2"]/div[2]/div[1]/div/div[2]/div[2]/div[1] でしたよ >>547 >>548 583のスクリプトだと誕生日、死亡日、出生地、死亡地、性別を77行目の天ぷらで取得するようになってるけれど、もう天ぷらを改変して使うことも無理だから、項目一つ一つそれぞれ取得しないといけないって事ですか?
584 名前:デフォルトの名無しさん mailto:sage [2018/10/25(木) 08:09:34.19 ID:ANca8D/1.net] https://www.wikidata.org/wiki/Q155525 この表の左側(date of birthとかplace of birth)のdiv classは wikibase-statementgroupview-property-label 表示の真ん中の8 October 1927や、Bahía Blancaのdiv classは wikibase-snakview-value wikibase-snakview-variation-valuesnak のようでした。 これらを使って >>583 に当てはめる事できますか?
585 名前:545 mailto:sage [2018/10/25(木) 08:57:54.49 ID:ZE3NVml1.net] 例えば、Ruby で、5ch の書き込み内のa タグを、XPath で指定するのは、こういう感じ # a を含む、post_node だけを抜き出す。descendant は子孫、ancestor は祖先 # div.thread > div.post > div.message > span > a post_nodes = doc.xpath "//div[@class='thread']/div[@class='post']/div[@class='message']/descendant::a/ancestor::div[@class='post']" /div[2]/div[1]/div/div[2]/div[2]/div[1] こういう、1, 2 などの順番では指定しない 順番で指定すると、サーバー側で、HTML ページを作る時に、順番が変わるかもしれない 普通はXPathではなく、以下のような、CSS セレクターで指定する。 div.thread > div.post > div.message > span > a thread クラスが付いた、div 要素の直下の、 post クラスが付いた、div 要素の直下の、 message クラスが付いた、div 要素の直下の、 span 要素の直下の、a 要素 ブラウザのF12 開発者ツールを起動して、自分でHTMLを解析する
586 名前:545 mailto:sage [2018/10/25(木) 09:17:05.90 ID:ZE3NVml1.net] Chrome で、自分が解析したい要素上で、右クリックメニューで検証を押すと、F12 開発者ツールが起動する 表示されたHTML 上で、右クリックメニューでCopy の所から、 XPath, selector(CSS selector)をコピーできる 例えば、このスレの書き込み内のa タグを、検証してみると、 XPath, CSS selectorは、 //*[@id="550"]/div[2]/span/a[2] 550 > div.message > span > a.reply_link id が550 の要素の直下の、 message クラスが付いた、div 要素の直下の、 span 要素の直下の、 reply_link クラスが付いた、a 要素 ただし、id は550など、先頭文字が数字では始められないから、これは間違い。 5ch の開発者が間違っている。バグ
587 名前:545 mailto:sage [2018/10/25(木) 09:39:35.73 ID:ZE3NVml1.net] date of birth の、XPath, CSS selectorは、 //*[@id="P569"]/div[1] #P569 > div.wikibase-statementgroupview-property id がP569 の要素の直下の、 wikibase-statementgroupview-property クラスが付いた、div 要素 このCSS セレクターで要素を取得して、それが1つだけかどうか確認しないといけない。 このHTML の製作者は、このクラスを複数のタグに付けているかもしれない このように、他人が作ったHTMLを、解析していくのが難しい。 その仕様は、その製作者が決めたもので、我々が知らないものだから、 隠された情報を暴くのに、時間を食うから、非常に無駄! 仕事以外で、他人の仕様を解析するのは辞めた方がよい。 製作者は答えを知っているけど、我々は答えを知らないから、時間ばかり食う!
588 名前:デフォルトの名無しさん mailto:sage [2018/10/25(木) 09:43:11.50 ID:wiUcTcgZ.net] たまにはいいこと言うじゃねえか
589 名前:デフォルトの名無しさん [2018/10/25(木) 10:14:40.95 ID:yIJtoQcC.net] 今は1階層深くなっているようだ //*[@id="{code}"]/div[2]/div/div/div[2]/div[1]/div/div[2]/div[2]/div[1]{link_html}/text()
590 名前:デフォルトの名無しさん mailto:sage [2018/10/25(木) 10:21:59.94 ID:Rw/1mEHp.net] >>556 なるほど まだ途中までしか読んでないけどおそらく本の内容はこんな感じ 1 ウィキペディアにある現在までのノーベル賞受賞者の全員の一覧からウィキデータにある各人のパーソナル情報とウィキペディアの各人の概略と人物写真をScrapyでスクレイピング 2 そのデータをPandasとMatplotlibでクリーニング、分析 3 そのデータをFlaskを使って配信 4 そのデータをJavascriptのD3.jsで可視化 4の可視化に興味があって読み始めた感じ。けどせっかくなので1から読んでScrapyも学んでみようかと。 でも、他人が作ったサイト(ウィキペディア)で悩むよりもAPIなどで簡単に取得出来るような別のデータを使って2に進んだ方がよいですか? (幸い、本の著作のGithubは数年前にすでにスクレイピングしたデータが置いてありました。数年前なのでもちろん今年の本庶さんは含まれてないですけどね。)
591 名前:デフォルトの名無しさん mailto:sage [2018/10/25(木) 10:22:45.04 ID:Rw/1mEHp.net] >>558 それどうやって見つけたんでしょうか? ちょっと見てみます。
592 名前:デフォルトの名無しさん mailto:sage [2018/10/25(木) 10:43:07.24 ID:Rw/1mEHp.net] https://i.imgur.com/I9jF1Rl.jpg date of birthのところでコピーしたXPath //*[@id="P569"]/div[1]/div/a https://i.imgur.com/b4m9Pop.jpg その日付けのところでコピーしたXPath //*[@id="q155525$82312275-D23F-4048-A710-6EC6AB12C2C2"]/div[2]/div[1]/div/div[2]/div[2]/div[1] 2枚目の画像の部分を選ぶんだと思っていたんですけど、もしかして選ぶ場所間違えてますか?
593 名前:545 mailto:sage [2018/10/25(木) 11:01:29.24 ID:ZE3NVml1.net] >>559 その本の例題が難しすぎる。 自分で他人のHTML を解析してまでやる必要はない。無視すべし 自分のやりたい部分だけを、やった方がよい
594 名前:デフォルトの名無しさん [2018/10/25(木) 11:34:29.89 ID:yIJtoQcC.net] >>561 目的地点はあってるが出発地点が違う もうちょっとソースを読んで、どういう風にXPathをテンプレート化しているかを理解しよう
595 名前:545 mailto:sage [2018/10/25(木) 12:03:03.26 ID:ZE3NVml1.net] date of birth の、XPath, CSS selectorは、 //*[@id="P569"]/div[1] #P569 > div.wikibase-statementgroupview-property id がP569 の要素の直下の、 wikibase-statementgroupview-property クラスが付いた、div 要素 place of birth の、XPath, CSS selectorは、 //*[@id="P19"]/div[1] #P19 > div.wikibase-statementgroupview-property id がP19 の要素の直下の、 wikibase-statementgroupview-property クラスが付いた、div 要素 ここで、id のP569, P19 みたいなものは、別のHTML から取れるのか? だったら、CSS セレクターで取れる XPath なら、div[1] とか番号指定よりも、class 指定の方がよい。 //*[@id='P569']/div[@class='wikibase-statementgroupview-property'] //*[@id='P19']/div[@class='wikibase-statementgroupview-property']
596 名前:デフォルトの名無しさん mailto:sage [2018/10/25(木) 12:21:08.82 ID:Rw/1mEHp.net] >>563 出発地点ですか! 例えば「8 October 1927」という文字の上で右クリックして検証を選んで出てくる開発者ツールのElements欄を見てるんですが、もしかしてそこから間違えているとかですか? > もうちょっとソースを読んで、どういう風にXPathをテンプレート化しているかを理解しよう どういう事なのかさっぱり分からないです… >>563 >>564 そういう知識はどこで身につけるんでしょうか? おそらくこれはPythonとは直接関係ない部分なのでPythonの本でもそんなに詳しくは書いてないのかと思います。 これらはWeb開発の知識でしょうか? ほんのちょっとだけどPythonは覚えたから大丈夫だけど、Webは分からないから暗号にしか見えず恐ろしいです。 なるべくWeb開発をしなくてもいいように(ほんとはWebは専門の人に任せようって)、Web開発の部分はなるべく最小限で済むようにして、みなさんがPythonとJavascriptのプログラミングに専念してシングルページアプリを作れるようにってのがこの本らしいけれど、 XPathやChromeのこのツールやdivとかクラスっていうものの知識ってどういうところ(本?サービス?言語?)で学ぶといいんでしょうか?結局はやはりWebの知識が必要になってくるんでしょうか? 途中、SVGでグラフィックを作る章の最初にHTMLとcssの基本的な事が書かれてありましたけれど。
597 名前:545 mailto:sage [2018/10/25(木) 13:36:59.66 ID:ZE3NVml1.net] 先に、JavaScript, jQuery で、CSS セレクターを学ぶ。 CSS セレクターの方が読みやすい。 入門用サイトでも見て HTML で、CSS デザイン用の属性、id, class などを付けるでしょ? それを手掛かりにして、要素を取得する XPath は後でよい。 入門用サイトを見る
598 名前:デフォルトの名無しさん mailto:sage [2018/10/25(木) 14:08:58.54 ID:JjKr6ouj.net] https://i.imgur.com/H3vQCNy.jpg >危険なWeb開発地帯 自分もこの認識 恐ろしい >>566 早く先に進
599 名前:みたいけれど、一旦Pythonは横に置いて、そういう学習してみます。 プログラミング言語としてのJavaScriptではなくWebで使うためのJavaScriptという位置付けで学ぶとcssなど理解できるようになるんですかね? あと、JavaScriptのスキルを身に付けたいならフレームワーク(jQueryなど)の存在は完全に無視すべきとありました。 [] [ここ壊れてます]
600 名前:デフォルトの名無しさん [2018/10/25(木) 14:10:23.63 ID:f1dgb8e7.net] Python少し触っただけの初心者です。 インデント位置が変わるだけでプログラムのロジックの意味が 変わるのを知ってビックリしているのですが、 そんな言語を使ってまともなプログラムを書けるのですか?
601 名前:デフォルトの名無しさん mailto:sage [2018/10/25(木) 14:13:05.16 ID:JjKr6ouj.net] >>568 初心者ですけど、逆に分かりやすいと思いました。
602 名前:545 mailto:sage [2018/10/25(木) 1
] [ここ壊れてます]
603 名前:4:20:16.10 ID:ZE3NVml1.net mailto: 難しすぎるから、あきらめた方がよい。 他人が作った、HTML を解析しても、時間の無駄で、得るものがない! 本か入門用サイトで勉強した方が、体系的に勉強できて、余程よい それと投稿時には、名前欄に、538 と書いてくれ [] [ここ壊れてます]
604 名前:538 mailto:sage [2018/10/25(木) 14:29:40.72 ID:JjKr6ouj.net] >>570 まさにこの本がPython学習者がデータの可視化に向けてJavaScriptを学ぶのにちょうどよい本だと思って手に取ったんですが…
605 名前:デフォルトの名無しさん [2018/10/25(木) 15:37:48.62 ID:5Cy/pQlU.net] 最近裾野が広がって初学者が増えたのは良いが FAQはどっかでまとまったの見ておくべき
606 名前:デフォルトの名無しさん [2018/10/25(木) 15:45:19.08 ID:K87hu2sk.net] >>568 同じ処理なら誰が書いても同じようなコードになる
607 名前:デフォルトの名無しさん [2018/10/25(木) 16:04:24.36 ID:g7JlCOxC.net] Python始めたての初学者です。 ファイルを読み込んで、バックアップをとってから、ファイルの一部を書き換えるというプログラムを書きました。 これをPython3.6.1環境のLinuxで実行すると、うまく動きましたが、2.7.5環境の別マシンでは、 TypeError: 'encoding' is an invalid keyword argument for this function というエラーを吐き実行できませんでした。さらに、2.5.2環境の別マシンでは AttributeError: 'str' object has no attribute 'format' というエラーを吐き、実行できませんでした。 Python2と3では互換性がないということは存じ上げていますが、今回、3.6.1、2.7.5、2.5.2のすべての環境で動くものを作りたいです。 おそらくopenのencodingの部分と、datetimeの部分のformatの書き方がだめなんだと思いますが、 全バージョン対応の書き方をしようと思うとどういった形になるのでしょうか。 ちなみに、以下がコード全文です。 https://pastebin.com/F2UKiYtQ
608 名前:デフォルトの名無しさん [2018/10/25(木) 16:27:15.45 ID:5Cy/pQlU.net] 無駄な抵抗はよせ
609 名前:デフォルトの名無しさん [2018/10/25(木) 17:20:42.65 ID:YZYAqGHb.net] >>565 ,567 Pythonは詳しく無いので恐縮ですが、 >プログラミング言語としてのJavaScriptではなくWebで使うためのJavaScriptという位置付けで学ぶとcssなど理解できるようになるんですかね? CSS(スタイルシート)はWebページの見た目を制御するためのものです。 HTMLの要素ごとに、サイズ、背景、フォントの種類、レイアウトなどをCSSで指定する。 HTMLの要素は、タグ、属性、値で構成される。divはタグ、id, classは属性。 よって、CSSを覚えるには、HTML+CSSのセットで覚える必要がある。 今だったら、HTML5+CSS3 さらに、HTMLの要素を操作して表示を変化させるにはJavaScriptを使う。 ホスト側で処理が必要な場合は、CGI(GET,POST)などの知識も必要。 Webページ(HTML)の解析をするのであれば、HTML+CSSの知識は必須と思う。
610 名前:デフォルトの名無しさん [2018/10/25(木) 18:16:58.93 ID:g7JlCOxC.net] >>575 抵抗させてください
611 名前:デフォルトの名無しさん mailto:sage [2018/10/25(木) 19:39:32.30 ID:Mzrh8O3p.net] まず2.5の文法だけで2.5で動く奴を書け
612 名前:デフォルトの名無しさん [2018/10/25(木) 19:56:43.69 ID:NF5xn3mp.net] >>578 なに偉そうに命令しとるんじゃ しばくぞ
613 名前:デフォルトの名無しさん mailto:sage [2018/10/25(木) 20:10:31.29 ID:NRPlmaaN.net] >>574 >>578 しかるのちpythonのバージョンを検出し そのさき読み込む部分を切り替える処理を書く おk
614 名前:デフォルトの名無しさん mailto:sage [2018/10/25(木) 20:58:23.32 ID:NT+vxu3F.net] 無駄なあがきだと思うよ import sys if sys.version_info >= (3, 0): def xopen(file, encoding): return open(file, encoding=encoding) else: import codecs def xopen(file, encoding): return codecs.open(file, encoding=encoding)
615 名前:デフォルトの名無しさん [2018/10/25(木) 23:07:28.40 ID:ZUq2YpeN.net] 確かに文字列関係は労力が見合わないな
616 名前:デフォルトの名無しさん mailto:sage [2018/10/26(金) 01:52:17.86 ID:etilwalQ.net] >>581 ありがとうございます いい感じに動いてるっぽいです ちなみになんですが、 def xopen(file, encoding): return open(file, encoding=encoding) xopenという新たに定義した関数のencodingっていうパラメータが、open関数に渡る際に、encoding=encodingとなった右側のみに代入されるのがいまいち何故か分かりません
617 名前:532 mailto:sage [2018/10/26(金) 10:52:40.48 ID:99OxERMj.net] >>540 遅レスで会話の邪魔して悪いんですが。英語で質問するだけの勇気がありません・・・ pyGTKでgtk.gestureはそもそも文献自体がほとんど(2019/1に洋書が出るようですが)ないので、 とりあえず今はwebkit1を使って凌ごうともいます。
618 名前:デフォルトの名無しさん mailto:sage [2018/10/26(金) 11:27:23.79 ID:+/5bIPXr.net] いまスクレイピングの勉強してて、テキスト通りに入力したら operation not permittedとエラーが出ました python3.6 IPad Proでpythonista使ってます 写真がその内容です https://imgur.com/a/DNU9qUA
619 名前:デフォルトの名無しさん mailto:sage [2018/10/26(金) 11:28:03.08 ID:+/5bIPXr.net] 原因わかるかた教えてください
620 名前:デフォルトの名無しさん mailto:sage [2018/10/26(金) 12:46:11.07 ID:xBIHPZW8.net] >>574 そういうマルチバージョン対応などは、10年以上の開発者がやるもの! 初心者がやるべき事ではない 初心者は、python3系だけを使ってください
621 名前:デフォルトの名無しさん [2018/10/26(金) 13:22:34.36 ID:mc9Lb34M.net] >>587 アホは出てくんな
622 名前:デフォルトの名無しさん mailto:sage [2018/10/26(金) 13:32:28.45 ID:kt4cO7LW.net] >>586 クリップボードの内容を取得したりOSと連携する様な操作は iPadだと出来ることと出来ないことがあるよ クリップボードの内容取得は出来るけど iOS用に書き換えないと import clipboard text = clipboard.get() print(text) Pythonista のドキュメントに以下の項目があって iOS 用に使えるモジュールが出てる Pythonista Modules Additional modules developed specifically for iOS
623 名前:デフォルトの名無しさん mailto:sage [2018/10/26(金) 13:40:57.57 ID:pU3zjhOE.net] pipでuinstallした時に would remove: proceed?(y/n) と聞かれて、yを選ぶと fikenotfounderrorが出てアンインストール出来ません どうしたらよいですか?
624 名前:デフォルトの名無しさん mailto:sage [2018/10/26(金) 14:05:26.31 ID:1xxQ31UG.net] >>590 pipのバージョン、Pythonのバージョン、OSの種類とバージョンくらい書かないと絶対無理
625 名前:デフォルトの名無しさん mailto:sage [2018/10/26(金) 14:59:47.80 ID:pU3zjhOE.net] pip 18.1 python 3.5.3 windows10 です。
626 名前:デフォルトの名無しさん mailto:sage [2018/10/26(金) 15:02:26.09 ID:pU3zjhOE.net] そして、uinstallしたいのはtensorflow1.4.0です。
627 名前:デフォルトの名無しさん mailto:sage [2018/10/26(金) 15:07:19.64 ID:1xxQ31UG.net] >>592-593 ・ないといわれたファイルは実際に(ほんとうに)あるのか、ないのかをexplorerあたりから確認しる ・テンソルフローはうまくうごいていたのか、いないのか ・ログインユーザー名に日本語(2バイト文字)を使ってないか?
628 名前:デフォルトの名無しさん mailto:sage [2018/10/26(金) 15:09:31.17 ID:1xxQ31UG.net] もしかしたら 「setuptoolsを再インストール」すればなおるかもしんない。
629 名前:デフォルトの名無しさん mailto:sage [2018/10/26(金) 15:41:07.87 ID:7cSp+c0W.net] >>546 なるほど 見せるためだけに使ってる感じですか ありがとうございます
630 名前:デフォルトの名無しさん mailto:sage [2018/10/26(金) 17:48:07.64 ID:OsF5A133.net] >>589 ありがとうございます やっぱり初心者にpythonistaは厳しいのかなー iPadで出来ていろいろ便利なんですけどね……。
631 名前:538 mailto:sage [2018/10/26(金) 20:36:27.02 ID:VmKQ+7a8.net] >>576 どうもありがとうございます 参考になります 。 自分はWebページ作りそのものに感心は全く無いんですが、しかし今の自分が読むべきなのは例えばこういう本なんでしょうか? https://images-na.ssl-images-amazon.com/images/I/51cDHqLOl3L._SX353_BO1,204,203,200_.jpg (アマゾンでHTML5
632 名前:で検索して一番上に出てきた本です) [] [ここ壊れてます]
633 名前:573 [2018/10/26(金) 23:50:52.48 ID:vtwelEqx.net] >>598 そういう感じの本です。 私の持っている本はこれです。ちょっと古いです。 https://images-na.ssl-images-amazon.com/images/I/51e-xYj018L.jpg タグや属性を調べるだけならポケットリファレンスで十分かもしれません。 https://images-na.ssl-images-amazon.com/images/I/91Oh7lXoi0L.jpg
634 名前:デフォルトの名無しさん [2018/10/27(土) 00:41:13.73 ID:QkHwtfgJ.net] スレチ
635 名前:デフォルトの名無しさん [2018/10/27(土) 17:49:12.10 ID:ZlRq8doU.net] HTML, CSS, JavaScript, jQuery などの事は、web制作管理板で聞いてください
636 名前:デフォルトの名無しさん [2018/10/27(土) 17:49:31.22 ID:M4OQ4nwj.net] python3で print("humi" , humi, "%") を実行すると ('temp', 23.0, 'c') ←23は実際のセンサーの値です。 print関数で””で囲んだのは文字扱いで、複数の文字のときは「,」で区切りますよね? 理想は humi 47.0 % と表示させたいのですがどうすればよいでしょうか? 初歩の質問なのですが悩んでおります
637 名前:デフォルトの名無しさん [2018/10/27(土) 17:53:45.53 ID:WN5vicFY.net] >>602 https://ideone.com/TzBly3
638 名前:デフォルトの名無しさん [2018/10/27(土) 18:16:13.96 ID:M4OQ4nwj.net] >>603 すまんが 俺もいままではそれでできてた。 今回はそれを入力すると ('temp', 23.0, 'c') って出るんです そもそもなんで「'」になってるのかすら分からない。
639 名前:デフォルトの名無しさん [2018/10/27(土) 18:19:52.16 ID:M4OQ4nwj.net] すまんごちゃごちゃになってますね。 print("humi" , humi, "%") →('humi', 23.0, '%') になります。 普通なら>>603 で大丈夫なはずなんですけど。。
640 名前:デフォルトの名無しさん [2018/10/27(土) 18:26:42.99 ID:d3ZViLoJ.net] それはpython2の挙動だな
641 名前:デフォルトの名無しさん [2018/10/27(土) 18:40:14.43 ID:M4OQ4nwj.net] >>606 ん?そんな急に変わるもんなの? 実行もsudo pythonで実行してるけど sudo python3にできたりするのですか?
642 名前:デフォルトの名無しさん mailto:sage [2018/10/27(土) 18:49:01.71 ID:QoVX+/e8.net] >>607 2系と3系はハゲあがるほど文字列まわりが違う 3系をsudoするなら sudo py
643 名前:デフォルトの名無しさん mailto:sage [2018/10/27(土) 19:20:52.01 ID:ZlRq8doU.net] Windows10, WSL, Ubuntu 16.04 では、 which python3 => /usr/bin/python3
644 名前:デフォルトの名無しさん [2018/10/27(土) 19:42:26.23 ID:M4OQ4nwj.net] >>608 それは存じてます。 それより下にあるprint関数はpython3の書き方でしっかり表示できてるんですよね。。 なぜかこの行だけ変な表示になる
645 名前:デフォルトの名無しさん [2018/10/27(土) 19:56:03.40 ID:tpZx8Nmf.net] まだ2系使ってるのはどんな層?
646 名前:デフォルトの名無しさん [2018/10/27(土) 20:38:05.02 ID:p3Z91K38.net] Linux系じゃね? ブートストラップ周りに2系がガッツリ食い込んでるって聞いたことある。 そのせいで2系がデフォルトで入ってるとか。
647 名前:デフォルトの名無しさん mailto:sage [2018/10/27(土) 20:52:22.52 ID:QoVX+/e8.net] >>611 基本Windows使ってるけど 2系のころ勉強して そのまんま・・・ あとたしかに>>612
648 名前:デフォルトの名無しさん [2018/10/27(土) 21:09:16.81 ID:d3ZViLoJ.net] humi = 25 print("humi" , humi, "%") print(humi) 出力: ('humi', 25, '%') 25
649 名前:デフォルトの名無しさん [2018/10/27(土) 21:26:03.77 ID:M4OQ4nwj.net] >>614 まさにこれ。 python2はないと思う。ずっとこれでやってきてるので。 部分的に2とかありえるのかな?
650 名前:デフォルトの名無しさん [2018/10/27(土) 21:28:08.36 ID:d3ZViLoJ.net] >>614 はpython2で動かした結果
651 名前:デフォルトの名無しさん [2018/10/27(土) 21:39:51.74 ID:M4OQ4nwj.net] >>616 まじですか・・ 当方ラズパイをつかってまして lxterminalで sudo python ファイル名 なら実行できるけど python3 IDLEつかうとモジュールエラー出るから避けてたんだけど もしかしてpython3じゃないってことですかね?
652 名前:デフォルトの名無しさん mailto:sage [2018/10/27(土) 21:41:02.12 ID:GbJLfo15.net] ちゃんと調べたら2系で動いてましたテヘペロ に1票 これまでずっとそうしてきたから
653 名前:ニか本当に信用ならん [] [ここ壊れてます]
654 名前:デフォルトの名無しさん mailto:sage [2018/10/27(土) 21:42:08.13 ID:QoVX+/e8.net] sudo python -Vと打ってかくにんしる
655 名前:デフォルトの名無しさん [2018/10/27(土) 21:53:58.98 ID:WN5vicFY.net] RHEL系もDebian系もシステム周りはここしばらくはpython -> python2で、3はpython3で呼ぶようになってる
656 名前:デフォルトの名無しさん [2018/10/27(土) 21:57:57.20 ID:M4OQ4nwj.net] >>618 確認しました。ほんとにそれでしたすいません。 pip3でインストールしなきゃいけなかったそうです どうもありがとうございました
657 名前:デフォルトの名無しさん mailto:sage [2018/10/27(土) 23:54:55.35 ID:GbJLfo15.net] どんまい
658 名前:デフォルトの名無しさん mailto:sage [2018/10/28(日) 07:05:43.19 ID:7IwsJv31.net] 自分ではどうしようもなくて他人に泣きついたのにどうしてその相手の言うことを聞かずにグダグダやってたんだ?
659 名前:デフォルトの名無しさん mailto:sage [2018/10/28(日) 07:43:54.72 ID:lVhl2H66.net] Pythonで作成したモジュールをUWSCで呼び出すことはできますか? UWSCではDLLを読み込んで関数が使えるのですが そういう行為をプログラミング用語でなんというのでしょうか 検索ワードがよくないのか手がかりすら掴めてないです よろしくお願いします
660 名前:デフォルトの名無しさん mailto:sage [2018/10/28(日) 07:57:38.17 ID:JDWqlC9k.net] >>624 uwscなんて初めて知ったけど、exec()というコマンドがあるそうだから、単純に exec("pythonのパス" + "pythonスクリプトのパス")でいいんじゃないの?
661 名前:デフォルトの名無しさん mailto:sage [2018/10/28(日) 11:48:06.52 ID:lVhl2H66.net] >>625 execはexeを起動するだけなんです 似たようなものにdoscmdというのがあるんですがこれでも駄目でした UWSC掲示板があって過去ログもみたんですがPythonに関する質問すらなかったです www3.rocketbbs.com/13/bbs.cgi?id=umiumi すみませんわざわざ調べて頂いて
662 名前:デフォルトの名無しさん mailto:sage [2018/10/28(日) 12:12:29.72 ID:YiTUMI+K.net] >>626 それで十分だろ。 思い込みは捨てて exec("<python.exeのフルパス> <スクリプトのフルパス>") を実行してみなよ。 discmdのほうも単にパスが通ってないだけだと思うよ。 フルパスで入力してる?
663 名前:デフォルトの名無しさん mailto:sage [2018/10/28(日) 12:54:25.06 ID:lVhl2H66.net] >>627 すみません、解決しました 実行時の引数が不足してました ありがとうございました
664 名前:デフォルトの名無しさん mailto:sage [2018/10/28(日) 13:08:03.94 ID:auhqQrbO.net] Fswebcamで撮影した写真をメールで自動送信を考えています。 探知して送るのはあるんですけど、撮影した写真をまとめて送るようなプログラムってつくりにくいですか? シェルだと楽っぽいけど 慣れてないので分からない。。
665 名前:デフォルトの名無しさん mailto:sage [2018/10/28(日) 13:30:49.38 ID:auhqQrbO.net] もしくは撮影されたフォルダ内から日時の新しいものとか新しいうちの四つを添付するとかできないかなと? 普通に添付するならファイルが指定になるから難しそうですかね。。
666 名前:デフォルトの名無しさん mailto:sage [2018/10/28(日) 22:42:22.92 ID:KcfCsfCB.net] 書いてみれば良いじゃない
667 名前:デフォルトの名無しさん mailto:sage [2018/10/28(日) 23:28:27.44 ID:fiBcuTbE.net] numpyで配列の要素が範囲となるような配列をつくることはできますか? 例えばAというはいれつがあって、 A[0] = np.arange(0,1,0.01) みたいなものです
668 名前:デフォルトの名無しさん [2018/10/29(月) 00:31:07.47 ID:tXMYusEl.net] 意図があってるか分からないが A = np.stack([np.arange(0,1,0.01)]*10) A += np.arange(10).reshape((10,1))
669 名前:デフォルトの名無しさん mailto:sage [2018/10/29(月) 09:07:55.84 ID:FSHl5k4M.net] >>623 いるよなこういう何の生産性もないレスする奴(烏賊ブ)
670 名前:デフォルトの名無しさん mailto:sage [2018/10/29(月) 09:36:36.83 ID:sBuO7UaY.net] そうだな
671 名前:デフォルトの名無しさん mailto:sage [2018/10/29(月) 10:18:07.79 ID:ThrPEx61.net] >>633 ありがとうございます なんとかできました
672 名前:デフォルトの名無しさん mailto:sage [2018/10/29(月) 11:12:02.14 ID:wR2M4wFA.net] requestsでファイルをダウンロードする時タイムスタンプは変更しないでダウンロードする方法
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] < >
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 名前:過去ログ ★ [[過去ログ]] ■ このスレッドは過去ログ倉庫に格納されています