くだすれPython(超初心者用) その48【まず1嫁】
■ このスレッドは過去ログ倉庫に格納されています
当スレに★Python以外のプログラミング言語での回答類を書くべからず★
「Ruby では」「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(超初心者用) その47【Ruby禁止】
http://mevius.5ch.net/test/read.cgi/tech/1583509252/
次スレは >>985 あたりが挑戦してくだしあ。(980過ぎても自動落ちはしなくなって久しい)
### END OF TEMPLATE ### 580:1/2:2020/05/11(月) 21:29:21
URL規制の都合、分割します。結着しての代行よろしくお願いいたします。
スレッド作成依頼
【状況】-レスポンス1024とかなんとか、4桁の半角数値のエラー出ました。
他板で連投規制に引っかかったせいかもしれません。
【板名】プログラム
【板URL】http://mevius.5ch.net/tech/
【スレッドタイトル】くだすれPython(超初心者用) その48【まず1嫁】
【名前(省略可)】
【メール欄(省略可)】
【本文】(↓下段に書いてください) > http://mevius.5ch.net/test/read.cgi/tech/1583509252/1000
おれらはおまいじゃないからわからんのでエスパーするしかないのだが
できてた頃からできなくなったまでに、書き足した部分あるいはアプデした部分に
2バイト文字NGな部分があるのか
あるいは
毛蟹@エクセルみたいな、
特定の「だめな文字列」を含む
フォルダ名なりファイル名にリネームしてないか? >>4
フォルダ名に入っていた
・
が良くなかったみたいです。
下手したらこれでまた数時間溶かすところだった・・・。
すごく助かりました。
ありがとうございます。 >>5
なおってなにより
・一度決めたフォルダ名うかつに動かすのバグのもとイクナイ(・A・)
・1ミクロンでも英語圏のライブラリ使う予定があるなら、
フルパスに2バイト文字や半角スペースはトラブルのもとだからイクナイ(・A・)
これ豆な。 plt.subplotを使って
plt.subplot(2, 1, 1)
の散布図グラフのある領域の背景を塗りつぶしたいと考えています
(例えばx座標で2〜4の背景を塗りつぶす)
長方形を書けばいいのかなと思ったのですが、
みたいなコードサンプルがあったのでそのまま貼って使ってみたけど
fig = plt.figure()
ax = fig.add_subplot(111)
# 始点(0.2,0.2)で幅が0.2, 高さが0.4の長方形を描画
rect = plt.Rectangle((0.2,0.2),0.2,0.4,fc="#770000")
ax.add_patch(rect)
plt.subplotのグラフが2つのウィンドウに分割されました。
うーん。どうすればいいんだろう。 >>7
なんか書いていることがムチャムチャですね。
plt.subplot(2,2,1)
のグラフの一部の領域に四角を書き込みたいんですけど、
どうすればいいんでしょう? rect = ax.Rectangle((0.2,0.2),0.2,0.4,fc="#770000")
かな PyInstallerでmacのアプリ化がうまくいかないんだが原因が全くわからぬ
Windows ではうまくいくのになんで?? >>10
おれらはエスパーじゃないのでそのOSの種類とバージョンと
Python自体のバージョン書いてかないとむり PyInstallerうまくいかない報告多すぎw
そもそもPythonのユースケースとして微妙だよね MacをターゲットとしてわざわざPythonで書いたアプリを非プログラマに対して配りたいニーズなんてほとんど無いだろう
ロクにテストされてなくても何の不思議もない macやlunuxは標準インストールされてるから、winのbatファイルを配布するのと同程度にはユースケースあるんじゃないの? >>17のたとえにワロルw
Mac用のをつくると、よしんばうまくいっても、
あれそれ全部ひっくるめてAppですよ!って扱いなんで
基本トンでもないファイルサイズ(数年前で最低350MB)になってうけるぞwやめとけwww >>17
それは.pyファイルを配布するのと同じでしょ
macやlinux向けに使おうとするやつが少ないのは理解できるが
PyInstallerはWindowsでもうまくいかない報告めちゃくちゃ多い
セキュリティソフトにウイルス扱いされるケースまである
GUIアプリやゲームと同じでPython以外の言語を使うべきユースケース >>21
> セキュリティソフトにウイルス扱いされるケース
PyInstallerで作ったものすべてをウイルスー扱いする
クソな判定してるアプリがいくつかあるよなw
かの「ヤブ医者」ノトーンがVBで作ったものすべてを
ウイルスーであると誤判定してた時期が、過去あったように。 >>19
[Stack Overflow Developer Survey 2019]
素人開発者 win:58%, mac:15%, linux:27%
プロ開発者 win:45%, mac:30%, linux:25% >>7
import sys, os
from matplotlib import pyplot as plt
from matplotlib import patches as patches
fig = plt.figure()
ax = fig.add_subplot(111)
ax.plot([0,1,2],[-2,4,9],'y-')
rect = patches.Rectangle((0.2,0.2),0.2,0.4,fc='#770000')
ax.add_patch(rect)
plt.show() >>22
1つ2つの特定のソフトだけじゃなく二桁以上のソフトがウイルス判定してたから
一部のウイルスの作り方と似てるんだろな
https://stackoverflow.com/search?q=pyinstaller+virus >>23
もっと居るよって言いたいんだろうけど全体シェアからの更に限られたサイトの統計出されると実際少ないという結果アピールにしかならんぞ >>25
ツール厨でもウイルスー作れるアプリがPyInstaller使ってるんではなかろかと
過去の経験から予想している >>10
自分も業務でMacでのPythonアプリ化しようとしてましたが、
結局上手くいかないんでXcodeでアプリ作りましたよ Macはネイティブアプリですら数年放置したらだいたい動かなくなるのに、
Mac向けのPyInstallerなんて誰も使ってないような環境でビルドされたものがまともに使い物になるわけない >>23
macの開発者ってpyinstallerで実行ファイルにしたアプリを配布されないと満足に使いこなせないような雑魚なのw?
Appleにオシメの世話もしてもらえよガキ >>31
ネイティブアプリが動かなくなるのは
OSバージョンアップ時にCocoaに変更があるからでPython関係ない XCodeでPythonのアプリ化って出来るんか
しらんかった >>33
惜しい
それに追従しなきゃいけないPyInstallerのメンテナの苦労を想像してみよう
普通のアプリですら追従しきれなくなって投げ出す作者が後を絶たないのに、
汎用的な開発ツール(しかもほとんど誰も使ってない)をメンテするモチベーションを維持し続けることがどれほど大変なことか
開発経験があれば容易に想像できると思うけどね >>34
できませんよ
自分がやったのはXcodeでSwiftとObjective-Cを使った普通のアプリの開発です
PythonならKivy がありますが
イレギュラーすぎるでしょう >>36
自分で自分の発言(29)を省みろよ・・・ 田原総一朗は、だいぶボケてきているのでテレビに出さないほうがいいいわ。 >>37
Xcodeでアプリ作ったと>>29が言ってる時点でPython関係ない事もわからないのか?
その時点でMacのシェアやらPythonアプリ配布やら騒いでた割に知識もない残念な人なんやね ???
XcodeでPython とか出てくるのって釣りなのんけ? いちおう、macに付いてるautometorでpythonスクリプトをapp化できるよ スクリプト言語で macOS/iOS 向けに(App Store含めて)再配布できる
本格アプリを開発したいのなら、RubyMotion 一択ではないかと思われ
Kivi や Pythonista でもGUIアプリは書けるけど、動かして遊び楽しむ
レベルであって、そもそも本格的なアプリ開発は想定していない
なおスクリプト言語という前提を外せば、Xamarin が最有力候補になる
IronPython が Xamarin に対応!!とかいふ妄想に期待したい >>34
一応、PyObjC を使えばできる(らしい)よ
・PyObjC で HelloWorld - Xcode編
https://qiita.com/tom-u/items/bcadd4cc2bc68e74e6e6
最新の XCode に対応してるかどうかは知らんけどね >>44
結局py2appつことるやんけ定期
これわざわざXcodeでやる意味ないよね >>45
浅はかだなあ、GUIの画面設計はどうするつもりなのよ?
PyObjCは単なる言語間ブリッジだから、XCodeが提供する
インターフェイスビルダに相当する機能は存在していない
ちなみに Kivi には画面設計に特化した簡易的な外部DSLがあるし、
>>43で紹介した RubyMotion も Ruby の内部DSLでGUIを記述できる
だからこれらに関しては、「わざわざXcodeでやる意味ない」と
言っても間違いではない Paizaでスキルチェックみたいのしているのですが、
countを使わずに文字の重複カウントをするプラグラムコード中の
pattern = input()
string = input()
result = 0
for i in range(len(string) - len(pattern) + 1)
:
portion = string[i:i + len(pattern)]
if portion == pattern:
result += 1
print(result)
における、「i:i」って何をしているんでしょうか。 >>47
誤 i : i
正 i : i + len(pattern)
文字列のi番目 から i + len(pattern)番目(の直前)までを部分文字列として取り出す >>51
なるほど!
「 i + len(pattern)」で一区切りだったのですね。
ああいう出力になった理由がやっとわかりました。
ありがとうございます。 > お前は毎朝起きるたびに俺に負けたことを思い出すよ^^
あー、ホンッとに思い出すなあ(笑)
キチガイの嘘つきの低レベルFランの、
朝鮮ゴキブリBot君は、
チョン独特の「なにもできないけど俺のほうがジャップより偉い!」的な
ことはよーくわかったよ。
ホントなにもできない朝鮮ゴキブリBot君!
クソチョンw https://dotup.org/uploda/dotup.org2150949.py.html
特殊な文字が含まれてるコードでアルファベットの数を数えたいのですが上手くいきません
for文で一つ一つの文字を表示して確かめたのですがなぜか判定してもFalseになります
環境は Ubuntu20.04-LTS です
分からないなりに文字の先頭にuを付けたり付けなかったりしたのですがダメでした
文字コードに詳しくないので迷惑をかけるかもしれませんがよろしければご教授ください >>54
{'F': 1, 'G': 8, 'J': 15, 'Q': 3, 'W': 2}
1件以上カウントされたアルファベットはこうなったけどこれとは違う結果が出てるの?
ギリシャ文字はカウントされないので正しいよね >>54
アルファベットの定義から始めようか
>>56のいう通り一見アルファベットに見える文字列はアルファベットじゃないらしい
for c in d:
print(c, ["{:02X}".format(x) for x in c.encode("SJIS")])
こんなコードを実行すると
Υ ['83', 'B2']
Δ ['83', 'A2']
Η ['83', 'A5']
Ζ ['83', 'A4']
Ι ['83', 'A7']
Ν ['83', 'AB']
Δ ['83', 'A2']
J ['4A']
Ι ['83', 'A7']
…
となって上の場合、アルファベットはJだけで、H, Z, I, N等はアルファベットではない
文字コードSJISでは全角アルファベットはH’8260~H’8279になるはず \, -(ハイフン)でも、見た目では区別できないけど、ASCII(0〜127)じゃない文字コードもあるらしい
ファイル名などに使うと、危険!
原因が分からないけど、バグる 以下のようなmapがあったときに
map全体を文字列に変換しようと思ったら普通にstr()で型変換してあげれば大丈夫ですか?
testMaps = {'test': {'aaa': 'bbb', 'ccc': 0.0, 'ddd': 0.0}}
print("testMaps is " + str(testMaps))
テストしてみたら問題なく動いたんですが、ちょっと不安なので質問させてください。 >>59
mapじゃなくてdictだろ。
「全体」が文字列という事であれば文字列になるが、当然dictではなくなる。
>>> print(type(str(testMaps)))
<class 'str'>
>>> testMaps["test"]
{'aaa': 'bbb', 'ccc': 0.0, 'ddd': 0.0}
>>> strMaps=str(testMaps)
>>> strMaps["test"]
Traceback (most recent call last):
File "<stdin>", line 1, in <module> >>60
ありがとうございます。
テキストファイルに設定を保存するために文字列にしたいだけなので、dictじゃなくなっても大丈夫です。
ただ、何らかのエラーが出ないか心配だったので質問しました。
後から文字列を読み込みなおしてdict形式に戻せればいいので、json.loads()などで戻せれば大丈夫かと思っています。
何かおかしな点があったら教えて欲しいです。 こんな感じにしたらいいんですかね?
json.dumps()だけで良くて、str()は必要ないですか?
json.dumps()っていうのが何をやっているものなのかよく分からないんですが…
import json
testDict = {'test': {'aaa': 'bbb', 'ccc': 0.0, 'ddd': 0.0}}
testDumpDict = json.dumps(testDict)
print("testDumpDict is " + testDumpDict) #dump
testStrDict = str(testDumpDict)
print("testStrDict is " + testStrDict) #str
test = json.loads(testStrDict) #loads
print(test["test"]["aaa"]) json.dumps()を使って文字列にした場合と、str()を使って文字列にした場合で
一体何が違うのかよく分からないんですが、よく分からなくても素直にjson.dumps()を使っておけば良いという感じなんでしょうか?
下のコードだとエラーになってしまうのですが、json.dumps()を使った場合との違いがよく判らないなと思って…
import json
testDict = {'test': {'aaa': 'bbb', 'ccc': 0.0, 'ddd': 0.0}}
testStrDirectDict = str(testDict)
test = json.loads(testStrDirectDict)
print(test["test"]["aaa"]) >>64
jsonが何をしてるかなんて考える必要はない。
単に他の言語とかに値を渡したい時に使えると思っとけばいい。
気になるならjson自体についてぐぐっとけ。
自分は使ったことないけどpython単体で値を書き出したいなら
pickleってモジュールもあるみたい。 pythonのデータを.jsonファイルに書くのはjson.dumps()じゃなくjson.dump()
jsonファイルからデータを読むのはjson.loads()じゃなくjson.load()ね 安倍首相はうそばっかりついてるな。
かけ麻雀がばれそうになったから、法案を引っ込めただけった。 設定ファイルで、文字列・オブジェクト間の変換ができるものは、
Ruby では、JSON, Yaml, CSV の3つ anaconda 4.8.3 (python3.7) なんですが、jupyter notebookのnbextensionてインストールできなくなったんですか? こんな感じで出力されてしまってるcsvファイルをデータ処理が行えるように区切ろうと思うのですが、pythonでどのようなコマンドを組めば良いかアイデアを教えて頂けませんか?
文字数で切るやり方は9と12などで違いが出てしまうので、" を目印に切っていくプログラムを組めば良いんでしょうか?
https://i.imgur.com/XTnIxHZ.jpg 昨日 anaconda で jupyter 入れたけど
jupyter 入れると notebook は勝手に入った
調子に乗って conda で pandas 入れようとしたら
レポジトリが壊れてるとか言われて何も出来なくなった
matplotlib も入れられなくなった
anaconda 消した >>72
いや;で切れよ
なんならぶっちゃけExcelのテキストファイルのインポートで区切り文字を;にすれば読める >>74
;が見えてなくてこれ聞いて普通に
pd.read_csv( , sep)のやつで行けました
すごくバカな質問でした
このレスで気付けましたありがとうございます >>73
そんなアホなと思って自宅のmacOSにインストールされているminiconda3で
conda update ―prefix $HOME/miniconda3 conda
とやったら
conda info -e
でエラー出るようになった
さてどうすっかな miniconda3を再インストールすることで事なきを得た
古いminiconda3/envs以下を再インストールしたminiconda3/envsに移植して何事もなかったかのように動いている
不要不急のupdateなんてするもんじゃないな > お前は毎朝起きるたびに俺に負けたことを思い出すよ^^
あー、ホンッとに思い出すなあ(笑)
キチガイの嘘つきの低レベルFランの、
朝鮮ゴキブリBot君は、
チョン独特の「なにもできないけど俺のほうがジャップより偉い!」的な
ことはよーくわかったよ。
ホントなにもできない朝鮮ゴキブリBot君!
クソチョンw anaconda navigaterが串に引っかかって立ち上がらない
condarcに串と証明書指定してアップデートなどはできるのだが
どうやったらナビゲーターは串を超えられるのでしょうか? >>79
これ以外にも便利なライブラリを知っていたら教えてください import subprocess
exeFilePath = "C:/Users/test/test.exe"
subprocess.run(exeFilePath)
こんな感じでsubprocess.runを使って開いたexeファイルを終了するにはどうしたら良いですか? >>84
ありがとうございます、
ただ、読んでみたんですが、よく分からないです。。
一定時間経ったら…という用途ではなく、Python側でボタンを押したり、関数が実行された時に強制終了するようにしたいと考えています。 >>83 >>85
OSがUnix系なら↓あたりも嫁
ttps://teratail.com/questions/165031
違うならOS・Pythonのバージョンもシッカリ書かないとむりそげ
+
そも、
基本、
subprocess.run()だけだと、命令したーってだけで投げっぱなしなので
「一定秒数待ったら終了ね」以外の方法で終わらせたいなら、
subprocess.runではやした子供のPIDを調べてどっかに格納して置き、
処理が終わってるかどうか、
適切な秒数ごとにようすをみにいって
終わってたらKOROすループ
なり
押したらKOROすボタンを作る
なり
せねばなるんめえよ。 尚Win系なら、、、ってか
exe走らせてるならWin系やな。
Python側では、走らせたらもうPythonは用済みだハイ終了ってしておいて、
バッチファイルに終わらせるexe名指定してKOROすのが簡単やぞ。 >>81
「anaconda navigater プロキシ」あたりでggrと幾つか上の方によさそげなことが書いてある
上から10つくらい読んで全部だめだったらそのように書け
成功したら、どこのURLの記事でうまくいったか書いて毛 s = f'aaa{b}ccc'
のような記法を使うとき外側をシングルコーテーションで囲ったら
内側で使える引用符はダブルコーテーションだけですか?
beautifulsoupでcssセレクタを使うコードがあって引用符が足りないんですが… >>89
エスケープしろ
'ヤック"デ\'カ\'ル"チャー' >>90
ダメっす
SyntaxError: f-string expression part cannot include a backslash s = f'aaa{\b}ccc'はダメだぞ
なんでそんなことしたいのかわからんが >>92
大文字の円マークもダメですか
確かにエスケープする引用符を変えたら円マークのところでエラーになりました >>93
あ!すいません>>93さんのでイケました!
ありがとうございました 波括弧の中にクォーテーション書いてるだろ…
外に出せ 冷静に考えたらf-stringじゃなくて.format使えば無限に入れ子にできるよな >>86
プロセスidを取得してos.killをすれば良いようでした。
subprocess.runだとプロセスidを取得できないので、subprocess.popenを使ってexeを実行すると良いようです。 「これがいい!!」と喚いているサイコパスが実権を握ってるから
だろ? ■ このスレッドは過去ログ倉庫に格納されています