くだすれPython(超初心者用) その39
■ このスレッドは過去ログ倉庫に格納されています
このスレッドは、他のスレッドでは書き込めない超低レベル、 もしくは質問者自身何が何だか分からない質問を勇気を持って書き込むスレッドです。 へび使いが優しくコメントを返しますが、お礼は Python の布教と初心者の救済をお願いします。 エラーを解決したいときはエラー表示や環境(バージョン/IDE or command line)を略さずに書き込んで下さい。 騙りが頻発しています。質問する方は一時的なトリップをつけることを検討して下さい。 次スレは >>985 辺りで 前スレ くだすれPython(超初心者用) その38 https://mevius.5ch.net/test/read.cgi/tech/1526522954/ >>571 >>575 しかるのちpythonのバージョンを検出し そのさき読み込む部分を切り替える処理を書く おk 無駄なあがきだと思うよ 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) >>578 ありがとうございます いい感じに動いてるっぽいです ちなみになんですが、 def xopen(file, encoding): return open(file, encoding=encoding) xopenという新たに定義した関数のencodingっていうパラメータが、open関数に渡る際に、encoding=encodingとなった右側のみに代入されるのがいまいち何故か分かりません >>537 遅レスで会話の邪魔して悪いんですが。英語で質問するだけの勇気がありません・・・ pyGTKでgtk.gestureはそもそも文献自体がほとんど(2019/1に洋書が出るようですが)ないので、 とりあえず今はwebkit1を使って凌ごうともいます。 いまスクレイピングの勉強してて、テキスト通りに入力したら operation not permittedとエラーが出ました python3.6 IPad Proでpythonista使ってます 写真がその内容です https://imgur.com/a/DNU9qUA >>571 そういうマルチバージョン対応などは、10年以上の開発者がやるもの! 初心者がやるべき事ではない 初心者は、python3系だけを使ってください >>583 クリップボードの内容を取得したりOSと連携する様な操作は iPadだと出来ることと出来ないことがあるよ クリップボードの内容取得は出来るけど iOS用に書き換えないと import clipboard text = clipboard.get() print(text) Pythonista のドキュメントに以下の項目があって iOS 用に使えるモジュールが出てる Pythonista Modules Additional modules developed specifically for iOS pipでuinstallした時に would remove: proceed?(y/n) と聞かれて、yを選ぶと fikenotfounderrorが出てアンインストール出来ません どうしたらよいですか? >>587 pipのバージョン、Pythonのバージョン、OSの種類とバージョンくらい書かないと絶対無理 pip 18.1 python 3.5.3 windows10 です。 そして、uinstallしたいのはtensorflow1.4.0です。 >>589-590 ・ないといわれたファイルは実際に(ほんとうに)あるのか、ないのかをexplorerあたりから確認しる ・テンソルフローはうまくうごいていたのか、いないのか ・ログインユーザー名に日本語(2バイト文字)を使ってないか? もしかしたら 「setuptoolsを再インストール」すればなおるかもしんない。 >>543 なるほど 見せるためだけに使ってる感じですか ありがとうございます >>586 ありがとうございます やっぱり初心者にpythonistaは厳しいのかなー iPadで出来ていろいろ便利なんですけどね……。 >>573 どうもありがとうございます 参考になります 。 自分はWebページ作りそのものに感心は全く無いんですが、しかし今の自分が読むべきなのは例えばこういう本なんでしょうか? https://images-na.ssl-images-amazon.com/images/I/51cDHqLOl3L._SX353_BO1,204,203,200_.jpg (アマゾンでHTML5で検索して一番上に出てきた本です) HTML, CSS, JavaScript, jQuery などの事は、web制作管理板で聞いてください python3で print("humi" , humi, "%") を実行すると ('temp', 23.0, 'c') ←23は実際のセンサーの値です。 print関数で””で囲んだのは文字扱いで、複数の文字のときは「,」で区切りますよね? 理想は humi 47.0 % と表示させたいのですがどうすればよいでしょうか? 初歩の質問なのですが悩んでおります >>600 すまんが 俺もいままではそれでできてた。 今回はそれを入力すると ('temp', 23.0, 'c') って出るんです そもそもなんで「'」になってるのかすら分からない。 すまんごちゃごちゃになってますね。 print("humi" , humi, "%") →('humi', 23.0, '%') になります。 普通なら>>600 で大丈夫なはずなんですけど。。 >>603 ん?そんな急に変わるもんなの? 実行もsudo pythonで実行してるけど sudo python3にできたりするのですか? >>604 2系と3系はハゲあがるほど文字列まわりが違う 3系をsudoするなら sudo py Windows10, WSL, Ubuntu 16.04 では、 which python3 => /usr/bin/python3 >>605 それは存じてます。 それより下にあるprint関数はpython3の書き方でしっかり表示できてるんですよね。。 なぜかこの行だけ変な表示になる Linux系じゃね? ブートストラップ周りに2系がガッツリ食い込んでるって聞いたことある。 そのせいで2系がデフォルトで入ってるとか。 >>608 基本Windows使ってるけど 2系のころ勉強して そのまんま・・・ あとたしかに>>609 humi = 25 print("humi" , humi, "%") print(humi) 出力: ('humi', 25, '%') 25 >>611 まさにこれ。 python2はないと思う。ずっとこれでやってきてるので。 部分的に2とかありえるのかな? >>613 まじですか・・ 当方ラズパイをつかってまして lxterminalで sudo python ファイル名 なら実行できるけど python3 IDLEつかうとモジュールエラー出るから避けてたんだけど もしかしてpython3じゃないってことですかね? ちゃんと調べたら2系で動いてましたテヘペロ に1票 これまでずっとそうしてきたからとか本当に信用ならん RHEL系もDebian系もシステム周りはここしばらくはpython -> python2で、3はpython3で呼ぶようになってる >>615 確認しました。ほんとにそれでしたすいません。 pip3でインストールしなきゃいけなかったそうです どうもありがとうございました 自分ではどうしようもなくて他人に泣きついたのにどうしてその相手の言うことを聞かずにグダグダやってたんだ? Pythonで作成したモジュールをUWSCで呼び出すことはできますか? UWSCではDLLを読み込んで関数が使えるのですが そういう行為をプログラミング用語でなんというのでしょうか 検索ワードがよくないのか手がかりすら掴めてないです よろしくお願いします >>621 uwscなんて初めて知ったけど、exec()というコマンドがあるそうだから、単純に exec("pythonのパス" + "pythonスクリプトのパス")でいいんじゃないの? >>622 execはexeを起動するだけなんです 似たようなものにdoscmdというのがあるんですがこれでも駄目でした UWSC掲示板があって過去ログもみたんですがPythonに関する質問すらなかったです http://www3.rocketbbs.com/13/bbs.cgi?id=umiumi すみませんわざわざ調べて頂いて >>623 それで十分だろ。 思い込みは捨てて exec("<python.exeのフルパス> <スクリプトのフルパス>") を実行してみなよ。 discmdのほうも単にパスが通ってないだけだと思うよ。 フルパスで入力してる? >>624 すみません、解決しました 実行時の引数が不足してました ありがとうございました Fswebcamで撮影した写真をメールで自動送信を考えています。 探知して送るのはあるんですけど、撮影した写真をまとめて送るようなプログラムってつくりにくいですか? シェルだと楽っぽいけど 慣れてないので分からない。。 もしくは撮影されたフォルダ内から日時の新しいものとか新しいうちの四つを添付するとかできないかなと? 普通に添付するならファイルが指定になるから難しそうですかね。。 numpyで配列の要素が範囲となるような配列をつくることはできますか? 例えばAというはいれつがあって、 A[0] = np.arange(0,1,0.01) みたいなものです 意図があってるか分からないが A = np.stack([np.arange(0,1,0.01)]*10) A += np.arange(10).reshape((10,1)) >>620 いるよなこういう何の生産性もないレスする奴(烏賊ブ) >>630 ありがとうございます なんとかできました requestsでファイルをダウンロードする時タイムスタンプは変更しないでダウンロードする方法教えて下さい!! requestsで何らかの方法を使ってファイルの作成日などを取得してダウンロード後にos.utimeでその日付に書き換えるんでしょうか? wget -N url みたいな事が出来るとよいんですが。 httpレスポンスヘッダのlastmodified ちょっと前に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]: ってどうして必要なんでしょうか?(これがないと機能しないようですが) 関数配置ページ 関数は一ページの変換ミスです。ごめんなさい。 https://imgur.com/a/iT18u6W titleの文字列取得の時はstring付ければよかったけど、最後の奴はstring付けるとエラーになります こういうときはどうやって文字列だけ抽出するんですか? >>642 写真だと見づらいね find_allの時はリストで取得してるから for c in content: で回して取り出してみて pandasのtocsv使うときデータ内に¥nが入っててcsv出力時点で改行され、excelからcsvをデータインポートカンマ区切りで読み込みたい時に改行されて悲しいことになるんですがどうするのがスマートですか ¥n入るのは正しく、16桁以上の数字のカラムがあるのでデータインポートで読み込みたいです 本当だ よく見るとこの場合は実行するとリストとして取得されてるんですね そりゃstringじゃ無理な訳ですね わかりやすい >>638 >>639 もうちょっと教えてくださいお願いします! >>645 to_csvのオプションで個々の値にクォーテーションを付ける import csv df.to_csv(“hoge.csv”, quoting=csv.QUOTE_ALL) >>640 そんな零細プログラムの詳細をここで質問しても誰も答えないと思うぞ… 気が向いたから答えるけど次はないからな。 __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がエスケープされていたり"#"フラグメントがついてると比較できないから取り除いている。 >>647 一般的にHTTPレスポンスヘッダのLast-Modifiedにファイルのmtimeが入ってるからそれを取得して、ファイル書き出してからmtime更新すれば良い curl使えるなら-vで一度レスポンスヘッダ見るといい 凄いねよく答えられるな、流石 gtkは全く知らないけど wigetはwidgetのスペルミスだろうね、きっと >>651 これであってますか? 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)) # ファイルパス, (アクセス時間, 修正時間) ファイルの作成日の取得と書き込みはどうやるんでしょうか? >>653 print(ast_modified)はprint(last_modified)の間違いです >>650 レスありがとうございます。助かりました。 次はないと言割れましたがちょっと不思議なことがあったので質問させていただきます。 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の順番にできないのでしょうか。 というよりなぜグーテンベルクのファイルだけ、おかしなソートになるのかわかりません。 数値型は数の大小で比較されるが、 文字列型の数値は文字列として比較されるから数の大小順には並ばない 数値として比較したければ、sort(またはsorted)のkey引数に適切なキー抽出関数を与える必要がある その本だけがと言っているが、条件を満たしていればどんなリストでもお前の言う「おかしなソート」になる print(sorted('11', '2', '.1')) >>657 ググったらでてきました。文字列型だと10が2より先に来るようですね。 どうもありがとうございました。 >>653 そんな感じ ファイルの作成日時は取得する手段がないので諦めて (独自ヘッダで応答してくれるサーバーを除く) >>649 試してみたけど無理でした ダブルクリックで開くと問題ないけどtxtのインポートだと開いた時点で改行されるからどうしようも無いのかなこれ bashからpythonプログラムを実行するときに、pycharmで簡単にデバッグしたいんですが、どうすればいいですか? pythonコードだけの場合のやり方は分かるんですけど print()いっぱい書くしか無いんですかね >>658 float型に変換しないとちゃんとソートできないよ >>661 pycharm使ってparametersに引数入れてやればいい。 >>659 どうもありがとうございます 基本的に作成日の取得は出来ないんですね 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) pycharmでrun/debug configurationのset wowrking directoryに、プログラムを実行したいディレクトリ(pロジェクトのルート外)を入れても、ファイルが見つからないとエラーがでます ターミナルでは実行可能です プロジェクトのルート外のディレクトリで実行するにはどうすればいいいか教えて頂きたいです >>667 ちょっと何言ってんだかわかんない。 working directoryは実行するpyhonスクリプトのディレクトリが勝手に入ると思うのだが。 見つからないと言われるファイルは何? 実行するスクリプトから参照しているファイルじゃないの? 図示してくれ。 >>666 前者はクラス名.変数名(ApiError.error)になっているのでクラス変数を参照しようとしている。 故にApiErrorにerrorという名前のクラス変数がなければエラーになる。 後者はインスタンス名.変数名(err.error)になっているのでインスタンス変数を参照しようとしている。 errorはインスタンス変数なのでエラーにならない。 >>669 どうもありがとうございます dropbox.exceptions.ApiError as err これって、 dropbox.exceptions.ApiError をerrって別名にしただけですよね? ってことは err.errorと dropbox.exceptions.ApiError.error は結局同じ気がするんですが、違うんでしょうか? 違いがわからないです >>670 違うよ。 ApiErrorはクラス名、errはインスタンス名。 a = MyClass() って書いたときにMyClassとaは違うものでしょ?それと同じ except E as N: と書いてある場合は "Eが例外オブジェクトのクラスだったら例外をNに代入" という処理になる 他のasを使った文のようにEの別名をNにする訳ではない 普通そういう所に、クラス名など来ない 例外インスタンスが来る ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. sklearnでLinearSVCのグリッドサーチするとこの文章が永遠に出てくるんですけどどういうことですか?調べてもわかりませんでした。 そのままの意味で、毎回の学習が収束まで行ってないからイテレーション回数増やせって事では ■ このスレッドは過去ログ倉庫に格納されています
read.cgi ver 07.5.5 2024/06/08 Walang Kapalit ★ | Donguri System Team 5ちゃんねる