くだすれPython(超初心者用) その50【まず1嫁】
■ このスレッドは過去ログ倉庫に格納されています
当スレに★Python以外のプログラミング言語での回答類を書くべからず★ 派生言語はそれぞれ専スレがあるのでそっち池。 「Ruby」「某言語では」をNGワード登録推奨。荒らしは、完全スルー放置が一番きらいです。 このスレッドは「お勉強」スレのほうには書き込めない超低レベル、 もしくは質問者自身何が何だか分からない質問を、勇気を持って書き込むスレッドです。 へび使いが優しくコメントを返しますので、お礼は Python の布教と初心者の救済をお願いします。 ★エラーを解決したい場合は、 表示されてるエラー全文(勝手に省略やスクショうp等の横着クソ行為禁止)と、 実行環境(Pythonのバージョン・OSとIDEの種類とバージョン)をシッカリ書くこと。 【【【複数の連続半角スペースはなかったことになる・タブがうまく入らない5chの仕様】】】に注意! Pythonの★ソースコードをそのまま5ちゃんにコピペすると、インデントが崩れてチヌ★ので ↓等の、いわゆるコードうp用サイトに貼ってこいください。 ttps://techiedelight.com/compiler/ Run Code機能あり。最近流行中? ttp://ideone.com/ デフォ設定はC用のため言語選択ボタン押下がピコ手間かも。 ttp://codepad.org/ ほぼ直感的に使える。Run codeボタンあり。 ttp://pastebin.com/ まずまずシンプル。 ttp://dpaste.com/ とてもシンプル。消えるまでの日数は十分長ーく指定のこと。 ◇Python公式サイト◇ http://www.python.org/ ◇まとめwiki◇ ttp://python.rdy.jp/wiki.cgi 〇前スレ〇 くだすれPython(超初心者用) その49【まず1嫁】 https://mevius.5ch.net/test/read.cgi/tech/1595057607/ 次スレは >>985 あたりが挑戦してくだしあ。(980過ぎて自動落ちは、無くなって久しい) ### END OF TEMPLATE ###
一応手順です。同じことでつまづかれた方がいたら。 git clone https://github.com/pyenv/pyenv.git ~/.pyenv echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bash_profile echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bash_profile echo 'eval "$(pyenv init -)"' >> ~/.bash_profile pyenv install 3.7.4 echo eval "$(pyenv init -)" >> ~/.bash_profile pip install --upgrade pip Pythonをつかってロボットアームを動かして部屋の片付けをやらせたいのですが やりかたがいまいちわかりません。なにをどうすればいいですか? >>624 おすすめのロボットアームとライブラリなどありましたらおしえてください。 右も左もわからない初心者です。 部屋破壊するようなサイズのにして 空っぽにしてもらうとすっきりするぞ >>625 自分の手に電極をぶっ刺してラズパイに接続するか 自分の手を動かして部屋の片付けをやらせた方が早いよ 学生が勉強用に買えるようなロボットアームってあるの? もちろん掃除とかは無理だと思うけど 安いものだと2万円くらいのロボットアームがありますね >>633 NVIDIA の jetsonで遊んでみたら? jetsonは頭だけじゃん アームが欲しいって言ってるんですよね? てかPython関係なくね? プログラム板じゃなくてロボット技術板じゃね? せやねぇーARMちがいのCPUアタマでややこいわ せやから工学的にはアクチュエータていえばええのんか つかステッピングモータかラジコン用サーボとホムセンや百均で自作すんのとちゃうか? Arduinoプログラミングのアプリみたいなエディタてあるんかいな? matlabでのfiltfilt()のように、ゼロ位相デジタルフィルター処理ができる関数はなんでしょうか >>640 はい、マルチポストってやつですね さよならー PILでshowしたイメージウィンドウを自動で閉じたい(右上のバツボタンを押さずに)のですが どうやってやるんでしょうか .close()や.destroy()してみましたがダメでした img = Imag3e.open(file) img.show()#window出現 time.sleep(3) #windowを閉じる window出すときに割り当ててるviewer(あぷり)次第 stackoverflow.com/questions/6725099/how-can-i-close-an-image-shown-to-the-user-with-the-python-imaging-library もし viewer が Microsoft.Photos.exe なら im.show() time.sleep(...) のあとで import psutil for proc in psutil.process_iter(): if proc.name() == 'Microsoft.Photos.exe': proc.kill() で消えることは消える(これが良い方法だとは思わない) >>646-648 なるほど viewer次第なんですね(ちなみに実行環境はlinuxです) ほんとはpysimpleGUI上で画像を表示させようとしたのですが ダウンロード→保存→パスから表示→必要なくなったら削除 という方法以外でやろうとしたらうまく行かなかったので PILで別々に画像だけ表示しようとしたら 今度はビューワを自動で閉じれない問題が発生したのが>645だったのです とりあえずもう一度pysimpleGUI上で表示する方法を模索してみようと思います stringIO とか byteIO でメモリから読ませる方法があるはず >>650 とりあえず一度ダウンロードして保存してパス指定して云々でpysimpleGUIで表示 はさきほど成功しました byteIOでPILのImage.show()も成功 pysimpleGUIのimage_filenameにbyteIOしたものを入れてみましたがだめでした stringIOでやってみます ボンミスというかpysimpleGUIにImageがあることを見逃していました どこぞのチュートリアルみてボタンとかのパラメータから バックグラウンドでしか画像表示できないものだと思ってました sg.Imageできそうです 解決しました ざっくり書くと response = requests.get('画像のurl') image = response.content これをpysimpleGUIのlayoutで [sg.Image(data=image)]のように読み込む io.BytesIOしなくてもあっさり表示されました Pythonの自動操作プログラムのサンプルコピペしたら複数のステートメントがどうとかで動かなくてもうだめぽ tesseract-ocrインストールしてpytesseractで数字認識できたのですが 背景にちょっとでも線入ると急に精度がガタ落ちするのですがそういうもんですかね? やっぱ前処理して数字だけクッキリみえるようにしないといけないですよね・・ 入れたいソフトウェアのもともとの頒布元見つけたんですが 身バレ怖いんでリンクは載せないでりどみのインストール方法だけです windows10とmacmojabeを持ってますが強いて言えばmac使いたいです mac用 Install them Python 2.7 :Not the 64-bit version PyQt4 PyEnchant ←「pythonが32bitなのに64bitだから入らない。32bitについてのpythonのmanを読め。」 のようなエラーが来てmanを読みましたがそんな項目はなかったです。 Java :Must be available on PATH on Windows ←これが理解できない。 使いたいソフトの中に.javaがないのも謎です windows用1 Install Java if you don't have it in your computer. http://www.java.com Must be available on PATH on Windows Start "open.bat".←入れたいソフトの中に入ってない謎のファイル windows用2 Open the "HOW TO INSTALL " folder. Install the file "python-2.7.15.msi". Make sure to enable the option "ADD PYTHON-EXE TO PATH". " Install "PyQt4-4.11.4-gpl-Py2.7-Qt4.8.7-x32.exe" and "pyenchant-1.6.6.win32.exe". ←ググっても32bitは見つからないです 一応この方法だけは試しましたがエラーでした WindowsError: [Error 126] 指定されたモジュールが見つかりません。 どれも理解できず失敗しました。どれでもいいのでうまくいく方法はありませんか。 ソフト作成者に聞こうかと思いましたがほかの人の質問に答えてないあたり無理そうです > "pyenchant-1.6.6.win32.exe". ←ググっても32bitは見つからないです 嘘つき?無能?どっち? なんでこういう奴ってどいつもこいつもソフト名書かないの? 同一人物? 自分も初心者でROM専門だけど、質問者の質は低いのが多いと思うわ 日付と時刻で並べ替えをしたいのですが、 df_summary = df_summary.sort_values(['recording_date', 'recording_time'], ascending=[True, True]) で並べ替えできません。 どこが間違っているのでしょう? >Java :Must be available on PATH on Windows ←これが理解できない。 >使いたいソフトの中に、.javaがないのも謎です a.java は、単独のファイルだろ。 Java は、tar, zip などの圧縮アーカイブの一種だろ これか?微妙に違うけど https://github.com/Liquid-S/SDSE2-PORTABLE javaはリポジトリにjarファイルが含まれてるから必要っぽいし、open.bat(正しくは(0)Open_Editor.bat)はREADMEに書かれてるリンク(Releasesページ)から落とすeditorに入ってる それです。すいません特定班舐めてました 散々手間かけてもらって本当に申し訳ないです。どうかどれでもいいのでインストール方法教えてください。お願いします。 ダンガンロンパ2っていうゲームをゴニョゴニョするためのツールか どうせ中韓語に翻訳して海賊版を流通させるつもりだろ csvに下記のデータが入ってます。 [[日付,来客数], [2020/9/9,15], [2020/9/10,18], [2020/9/11,12], [2020/9/12,17]] 日付から曜日を取得したいんだけど。。。 教えてください。。。 import io import datetime import pandas as pd csv = ''' 日付,来客数 2020/9/9,15 2020/9/10,18 2020/9/11,12 2020/9/12,17 ''' df = pd.read_csv(io.StringIO(csv), header=0) print(df) wn = ['月', '火', '水', '木', '金', '土', '日'] f = lambda s: wn[datetime.datetime.strptime(s, '%Y/%m/%d').weekday()] df = pd.concat([df, df.iloc[:, 0].apply(f).rename('曜日')], axis=1) print(df) 2020/9/9でググると木曜日って表示されるよ 無理にPython使わんでもよくね? 別に webAPI 使っても構わんが リアルタイムの時刻とか使うときは timezone 考慮しとけよ >>670 ありがとうございます。 使わせていただきます!! pandas使うならto_datetimeしてstrftimeでも曜日の文字列取れるよ locale.setlocale(locale.LC_TIME, 'ja_JP.UTF-8') df['曜日'] = pd.to_datetime(df['日付']).apply(lambda x: x.strftime('%a')) >>662 自己解決しました。 >>> df['Date'] =pd.to_datetime(df.Date) でdatetimeオブジェクトに変換する必要があったんですね 3.7から3.8にした パッケージをいちから入れ直すのはめんどくさかったけど、 バージョンアップで上書きはしないほうがいいんだよね? 下みたいなインデックスのない数値計算結果(テキストファイル)を読み込み 特定の列を消す書き方がよくわからないです(2列目と3列目だけ消す) ファイルの整形からグラフのプロットまで一つのpythonファイルでやりたいのですが 整形だけがうまくいかない お知恵をください result.txt 1 1 0.00000 0.00000 0.000000E+00 5.569085E+02 5.569085E+02 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 3.60E-06 39 1 1 0.00000 0.189474 0.000000E+00 5.594460E+02 5.594460E+02 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 3.60E-06 39 1 1 0.00000 0.378947 0.000000E+00 5.668875E+02 5.668875E+02 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 3.60E-06 39 1 2 0.00000 0.568421 0.000000E+00 5.787263E+02 5.787263E+02 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 3.60E-06 39 1 2 0.00000 0.757895 0.000000E+00 5.941398E+02 5.941398E+02 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 3.60E-06 39 matplotlibがうまく動かなくないからpython 3.6に戻した import re result = '''\ 1 1 0.00000 0.00000 0.000000E+00 5.569085E+02 5.569085E+02 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 3.60E-06 39 1 1 0.00000 0.189474 0.000000E+00 5.594460E+02 5.594460E+02 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 3.60E-06 39 1 1 0.00000 0.378947 0.000000E+00 5.668875E+02 5.668875E+02 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 3.60E-06 39 1 2 0.00000 0.568421 0.000000E+00 5.787263E+02 5.787263E+02 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 3.60E-06 39 1 2 0.00000 0.757895 0.000000E+00 5.941398E+02 5.941398E+02 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 3.60E-06 39''' q = re.compile(r'^(\d+)\s(\d+)\s(\d+)\.(\d+)\s', re.M | re.I) for s in result.split('\n'): m = q.match(s) if m: print(f'{m.group(1)} {s[len(m.group(0)):]}') >>680 ヒントだけ。 csv.reader(f, delimiter=' ') Ruby なら、これで最初の列を削除できる require 'csv' # 引数は、入力ファイル名。ヘッダー行あり table = CSV.read( ARGV[ 0 ], headers: true ) # 列モードにしてから、最初の列を削除する table.by_col!.delete( 0 ) puts table Pythonによるデスクトップアプリ開発の質問です。 何十年ぶりかに趣味のプログラムに手を出そうとしています。 触れたことがある言語はCを少しとVBです。 基本、Windowsで動けばいいと考えて調べた結果、 Python、Java、VB.net、electron の4つに絞りました。 また趣味で手軽にやるならPythonがいいかなとおもいました。 そこでですがPythonでは実装が出来ない、 または無理があることを教えて頂けますでしょうか。 スピードとかは気にしません。 Python3を始めるつもりです。 よろしくお願いいたします。 コマンドプロンプトに pip install tensorflow pip install keras と書き込んでkerasをインストールしたいのですが、インストールが終わって import keras をメモ帳に書いて実行してもうまくいきません 以下のようなエラーが出ます Keras requires TensorFlow 2.2 or higher. Install TensorFlow via `pip install tensorflow` a = [] に a[3]="aaa"ってやるとエラーがでますが 自動で[None,None,None,3]みたいに入ってくれませんか >>686 「とか」ってなんだ「とか」って >無理があること なんだったっけかな こっちじゃない方のPythonスレで 仕様上どうしてもかゆいところについて先月あたり話題になってた気がする あと、VBよりCが好き派なら やめとけとしか。 >>689 dictionary使えばいいケースではないの? foo = {} foo[3] = “aaa” どうしてもlistでやりたいなら要素数固定にして先にNoneで埋めるかIndexErrorを拾って自分で拡張するか foo = [None] * 10 foo[3] = “aaa” >>692 >>695 fooを定義するときにNoneで埋める数がわかってると先に埋めちゃいたいのですが 後々わかるパターンなので、その”最初だけ”をifで分岐するか おっしゃる通りtryで拾うことにしていますね 実際は a={"a":[],"b":[]} みたいな感じなので a={"a":{},"b":{}} dictionaryで初期定義してやれば分岐やらエラー処理無しでできそうです (ただ、a["a"][2]とかも参照したい(空なら別の処理)のでそのときにエラーを拾わないといけない?) ありがとうございました 本日Pythonの勉強を始めた者です。 こんにちは。私はパイソンです。と出力するために s="こんにちは。"+"私はパイソンです。" print(s) と入力したところ、2番目のダブルクォーテーションが赤く囲まれ、invalid character in identifierと表示されてしまいました。 どのように修正すればいいでしょうか? Pythonのバージョンは(3.8.6)です。 俺のESP能力を見せてやんよ >>697 1つ目のダブルクォーテーションが全角になってる >>698 ご回答ありがとうございます。 どちらも小文字になるように初めに「"」だけを続けて2つ入力してから文字列を作ってみたのですが、それでも同じエラーが出てしまいました…。 申し訳ありません。こちらの勘違いで、全ての"を全角で入力していたようです。 しかし、半角に修正して入力したところenterを押した瞬間消えてしまい入力が出来ませんでした。 連投になってしまいすみません。 恐らくプログラミング以前の問題だと思うので自分で調べ直してきます。 ありがとうございました。 VSCode で、Microsoft の拡張機能でも入れれば? 構文エラーぐらい、チェックしてくれるだろ >>686 CLIかWebのアプリならPythonでok GUIアプリを作りたいならC#がいいよ。 >>690 >>704 返信ありがとうございます。 「とか」はまんまです。上2行以外と言う意味で、多分言われやすそうなスピードを例にあげました。 いろいろとサンプルコードを眺めたりしたのですが、 PythonはGUIにはあまり向いてないんですか。 ライブラリはすでに充実していて行けてそうだったんですが、 別のスレッドの記事はまだ見つけられないでいます。 何か情報お持ちの方おりましたら、引き続きよろしくお願いいたします。 >>696 内側のdictを造るときにkeyが無い時のdefault値を設定しておける >>704 C#でGUI造るとき Windowsformsが良いのかWPFが良いのかその他何があるのか >>705 python 使う条件なら wxPython とか PyQt とか tkinter C# を否定はしない >>705 PythonでGUI組むなら、PySimpleGUIが使いやすいぞ >>707 WinFormsが簡単、WPFは必要な知識が多いので初心者が趣味でやるにはハードル高い データ分析系とかPythonのライブラリ使う場合でもGUIはC#で作ってPythonのコードを呼び出すようにしたほうが簡単 C#とIronPythonの組み合わせが最強ってことでおk? IronPythonは2.7なのでそれで我慢できる用途にしか使えない C♯からPythonコード呼び出すって、そんな事できるの? APIとか使うんか?それこそ初心者にはハードル高すぎやしない? 連携するなら外部コマンドとして呼び出すかPython for .NETみたいのを使う >>714 ありがとう。そんなことができるんやね。 外部コマンド呼び出す程度のハードルを越えられないようならGUIアプリ作るのは厳しいかと 漏れは、Ruby スクリプト中でも、python を実行したりしてるけど puts `python3 -c "print( 'a' )"` プロセス間通信してjsonとかでデータをやり取りするのがよくあるパターンかな。プロセス間通信を覚えると1つの言語に縛られなくなって、適材適所で特定の部分を書くのに得意な言語で書けばよくなるから開発が楽になるよね。 Pythonの次に覚える言語はなにがおすすめですの? >>706 ありがとうございます これは使えそうですね(配列にもあればいいのに。配列版defaultdictを作ればいいだけだとは思いますが) d = {} d[3] = 11 print(d[3]) # 11 print(d.get(3,None)) # 11 print(d.get("3",None)) # None print(d.get(1,None)) # None from collections import defaultdict dd = defaultdict(lambda:None, d) print(dd[3]) # 11 print(dd[1]) # None ■ このスレッドは過去ログ倉庫に格納されています
read.cgi ver 07.5.5 2024/06/08 Walang Kapalit ★ | Donguri System Team 5ちゃんねる