くだすれPython(超初心者用) その39
■ このスレッドは過去ログ倉庫に格納されています
このスレッドは、他のスレッドでは書き込めない超低レベル、 もしくは質問者自身何が何だか分からない質問を勇気を持って書き込むスレッドです。 へび使いが優しくコメントを返しますが、お礼は Python の布教と初心者の救済をお願いします。 エラーを解決したいときはエラー表示や環境(バージョン/IDE or command line)を略さずに書き込んで下さい。 騙りが頻発しています。質問する方は一時的なトリップをつけることを検討して下さい。 次スレは >>985 辺りで 前スレ くだすれPython(超初心者用) その38 https://mevius.5ch.net/test/read.cgi/tech/1526522954/ 先に、JavaScript, jQuery で、CSS セレクターを学ぶ。 CSS セレクターの方が読みやすい。 入門用サイトでも見て HTML で、CSS デザイン用の属性、id, class などを付けるでしょ? それを手掛かりにして、要素を取得する XPath は後でよい。 入門用サイトを見る https://i.imgur.com/H3vQCNy.jpg >危険なWeb開発地帯 自分もこの認識 恐ろしい >>563 早く先に進みたいけれど、一旦Pythonは横に置いて、そういう学習してみます。 プログラミング言語としてのJavaScriptではなくWebで使うためのJavaScriptという位置付けで学ぶとcssなど理解できるようになるんですかね? あと、JavaScriptのスキルを身に付けたいならフレームワーク(jQueryなど)の存在は完全に無視すべきとありました。 Python少し触っただけの初心者です。 インデント位置が変わるだけでプログラムのロジックの意味が 変わるのを知ってビックリしているのですが、 そんな言語を使ってまともなプログラムを書けるのですか? >>565 初心者ですけど、逆に分かりやすいと思いました。 難しすぎるから、あきらめた方がよい。 他人が作った、HTML を解析しても、時間の無駄で、得るものがない! 本か入門用サイトで勉強した方が、体系的に勉強できて、余程よい それと投稿時には、名前欄に、538 と書いてくれ >>567 まさにこの本がPython学習者がデータの可視化に向けてJavaScriptを学ぶのにちょうどよい本だと思って手に取ったんですが… 最近裾野が広がって初学者が増えたのは良いが FAQはどっかでまとまったの見ておくべき >>565 同じ処理なら誰が書いても同じようなコードになる 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 >>562 ,564 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の知識は必須と思う。 >>575 なに偉そうに命令しとるんじゃ しばくぞ >>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型に変換しないとちゃんとソートできないよ ■ このスレッドは過去ログ倉庫に格納されています
read.cgi ver 07.5.5 2024/06/08 Walang Kapalit ★ | Donguri System Team 5ちゃんねる