X



Pythonのお勉強 Part64
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん (ワッチョイ 6b01-vvkI)
垢版 |
2020/09/14(月) 07:12:53.70ID:+5bseuUi0
!extend:default:vvvvv:1000:1024
!extend:default:vvvvv:1000:1024
↑スレ立てる毎に減るので、減ってたら3つに増やすこと。

・当スレにRubyのソースコード類を書くことを禁ず
・Ruby等、Pythonではないプログラミング言語での回答類・質問を書くのも禁止
・「Ruby では」「Rubyでは」をNGワード登録推奨

・エラーを解決したいときは、まず
 エラー文(勝手に省略/スクショうp等の横着禁止)と
 おま環(Pythonのバージョン+OS名IDE名と夫々のバージョン)を書け。

★Pythonのソースコードを5ちゃんに直コピペするとインデントが崩壊するので、
  ↓等のコードうp用サイトに貼ってきてくだしあ。(スクリーンショットをimgur等にうpる「横着」禁止)
ttps://techiedelight.com/compiler/  Run Code機能あり。最近流行中?
ttp://ideone.com/      デフォ設定がCなので、Pythonするには言語種選択ボタン押下がピコ手間かも。
ttp://codepad.org/      ほぼ直感的に使える。Run codeボタンあり。
ttp://pastebin.com/     まずまずシンプル。
ttp://dpaste.com/      とてもシンプル。消えるまでの日数は十分長ーく指定のこと。

◇Pythonオフィシャルサイト http://www.python.org/
◇まとめwiki ttp://python.rdy.jp/

●関連スレ●
くだすれPython(超初心者用) その46【Ruby禁止】
http://mevius.5ch.net/test/read.cgi/tech/1577948214/

〇前スレ〇 Pythonのお勉強 Part63
https://mevius.5ch.net/test/read.cgi/tech/1582507911/

次スレの建立は>>985が挑戦する。(980通過して24h後も落ちなくなってからだいぶ経っつる)### END of TEMPLATE ###
VIPQ2_EXTDAT: default:vvvvv:1000:512:: EXT was configured
0315デフォルトの名無しさん (ワッチョイ 7f01-KDxU)
垢版 |
2021/01/14(木) 23:04:23.57ID:X9SM/m5M0
ファイルをwatchして読み取り専用で表示を更新してくれるようなViewerがあればいいかもね

openpyxlじゃなくてxlwingsならファイル操作じゃなくCOM経由でExcelを操作するから
リアルタイムでExcelの表示が更新されるよ
0316デフォルトの名無しさん (ドコグロ MM7f-++32)
垢版 |
2021/01/14(木) 23:54:39.70ID:TLy9JzSwM
>>315
xlwingsを軽くググったら、こっちの方が自分向きかもしれない
0317デフォルトの名無しさん (ワッチョイ cd90-JESV)
垢版 |
2021/01/15(金) 01:32:57.40ID:DqZ7RMkU0
ドットの意味が紛らわしくないですか?
0319デフォルトの名無しさん (ワッチョイ c5da-p24c)
垢版 |
2021/01/15(金) 19:10:11.75ID:dGraDyCe0
>>305です
pythonの標準入力で、入力した文字列の中に判定文字が含まれればprintで表示、該当する文字列がなければ なし と表示したいです
で、コードを書いてみたけど何を入力しても "該当文字列なし" としか表示されないの
コードのどこがおかしいか教えてください。。
s = int(input())         #入力文字列の個数

search_string =str(input())   #判定文字

flag = True

for i in range(s):
string = input()
if string in search_string:   #ここで文字が含まれるか判定
print(string)
flag == False
else:
break

if flag == True:
print("該当文字列なし")
0325デフォルトの名無しさん (ワッチョイ c5da-p24c)
垢版 |
2021/01/15(金) 20:05:32.33ID:dGraDyCe0
こうですかね?

s = int(input())

search_string =str(input())

flag = True

for i in range(s):
string = input()
if search_string in string:
print(string)
flag = False
else:
continue

if flag == True:
print("該当文字列なし")
0333デフォルトの名無しさん (ワッチョイ 7d6a-7ESL)
垢版 |
2021/01/15(金) 22:02:07.95ID:JDRTBKjk0
pythonからプログラムに入るのか。
pythonとか便利すぎるからな、初めはCのが良い気がする。

まあ、いいんだけど。
0336デフォルトの名無しさん (スッップ Sd22-A78j)
垢版 |
2021/01/16(土) 23:31:27.89ID:qvbha2p+d
主にCで飯を食ってる身だが必要に迫られない限りCのような旧石器時代の言語を勉強する必要はないと思うぞ

まあ静的型付けの言語を先に勉強すべきだとは思う
コンパイル通らないからPythonってのはダサいし害悪
0339デフォルトの名無しさん (ワッチョイ 317f-aU22)
垢版 |
2021/01/16(土) 23:52:38.56ID:haZmUiAy0
pythonも結局速度が必要なところはc/c++じゃん。
機械学習ならpythonって言われるけど、どのライブラリもバックエンドはC/C++で、適材適所でpythonと協調動作している。
CもC++もここ10年でこれまでにない速さで進化してるし、勉強しておいて損はないと思うぞ。


あ、でも僕のおすすめはJavaかC#かな。洗練された膨大なAPIを眺めるのはとても有意義だからね

python覚えたらこれらの言語も是非
0345デフォルトの名無しさん (オッペケ Srd1-Z5af)
垢版 |
2021/01/17(日) 02:23:48.83ID:noiciQI4r
>>333
老害やんか
0346デフォルトの名無しさん (ワッチョイ a963-sTIO)
垢版 |
2021/01/17(日) 02:31:09.81ID:+x6qKCyx0
Linuxカーネルは確かCで作ってある
カーネルを理解するのにCの理解は必要と思う
ちょっとしたツールを作りたいと言うなら
とっつきやすくすぐ動かせる言語が便利だと思う
人に使わせたいアプリケーションなら
実行性能とメンテナンス性の高い言語を選ぶと良い
0354デフォルトの名無しさん (ワッチョイ e101-s56y)
垢版 |
2021/01/17(日) 09:54:15.69ID:ex10k+Ic0
>>352
>”派’派
基本的には、好きな方でおk。

英語キーボードでは「”」はうちづらく「’」なら楽、らしいので
英語圏からのソースコピペをよくやるのならば「’」に統一した方が
足並みがそろうので多少は気分がいいかもしれない

ほかについては他の人のレスちゃんと読んでおk
0355デフォルトの名無しさん (ワッチョイ 82a5-cHx4)
垢版 |
2021/01/17(日) 10:40:21.22ID:bWGlwscd0
ちげーだろ
宗教的戒律によって「文字列は''で囲む」と決まっている
その主流派に従うかどうかは信心次第
0356デフォルトの名無しさん (オッペケ Srd1-Z5af)
垢版 |
2021/01/17(日) 10:58:22.52ID:noiciQI4r
別言語では’はcharだから”派
0357デフォルトの名無しさん (ワッチョイ 8240-SZF4)
垢版 |
2021/01/17(日) 16:46:04.30ID:kFfi47ih0
みなさんありがとう。
もう一つ質問です。
ラズパイですが、AutoStartの「~/.config/lxsession/LXDE-pi/autostart」に
「/usr/bin/python3 /home/pi/Desktop/Test/main.py」としていますが、
カレントディレクトリが/home/piになっていているため、ソース内の.pngファイルが/home/piに存在しないためエラーになります。
.pngファイルはQt Desginerでボタンのアイコンで.uiファイルに記録されて、コンパイル後の.pyは“hoge.png”で”/home/pi/hoge.png”に書き換えないと動作しません。コンパイル後の.pyは触りたくないのですが、AutoStartで良い方法はありますか?
0358デフォルトの名無しさん (ワッチョイ 8261-Dqz3)
垢版 |
2021/01/17(日) 16:53:59.21ID:+jqxVCxj0
シェルスクリプトなどに倣って、展開する予定がないならシングル、そうでないならダブル、という使い分けをしている派閥も多そうだけど(自分も)。
ちなみに、最近人気のBlackというフォーマッタは、ダブルへの統一を推奨している。
0364デフォルトの名無しさん (アウアウウー Sa05-SZF4)
垢版 |
2021/01/18(月) 10:46:28.93ID:+IwxwlzSa
>>363
Qt Designerでボタンのアイコンにソースフォルダのhoge.pngを指定して、そのuiファイルをコンパイルするとpyファイルにQtGui.QPixmap("hoge.png")なってしまうので、pathを付けるにはpyファイルを編集することになるのです。
AutoStartでカレントディレクトリが指定出来れば良いのですが。
pythonから話題がそれますので、ラズパイへ移動します。
0365デフォルトの名無しさん (エムゾネ FF22-p24c)
垢版 |
2021/01/18(月) 16:02:05.31ID:0ToZeY7aF
>>361
英字キーだけならほぼ移動無いけど
記号とか数字とかがからむと
メーカーや機種でキーボード上の位置かなり違う
眼瞑って打てる必要は無い
0366デフォルトの名無しさん (ワッチョイ 7d6a-7ESL)
垢版 |
2021/01/18(月) 18:34:31.84ID:O0iVYrPe0
>>364
それあるよね。

おれはshellファイルを作って。

pyuic5 -o ui_file.py file.ui

sed -i -e 's/hoge.png/\/home\/pi\/hoge.png/g' ui_file.py

みたいに力技で直してるw

正しい方法があるならオレも知りたい。
0367デフォルトの名無しさん (ワッチョイ 6e2c-vYIt)
垢版 |
2021/01/18(月) 19:03:19.87ID:JT9EgKXH0
アプリ内の画像ファイルが、
/home/pi/hoge.png
こういう場所にあると想定されるのが、おかしい

アプリの作り方が間違っているのでは?

普通、アプリ内のリソースは、アプリのディレクトリ以下にあるはず。
/home/ユーザー名
の直下にあるのは、おかしい
0368デフォルトの名無しさん (ワッチョイ 7d6a-7ESL)
垢版 |
2021/01/18(月) 19:22:08.83ID:O0iVYrPe0
>>367
っていうか。
Qt Designerでフルパスで指定しても、出来上がったuiファイルの中身が相対パスになっちゃうんだよ。
その場で動かせばパスが通るんだけど、違う所だとパスが通らない。

まあ、Qt Designerのバグだと思うんだけど。
0369デフォルトの名無しさん (ワッチョイ 317f-WsPm)
垢版 |
2021/01/18(月) 19:37:21.88ID:q58zSgJd0
qtの問題じゃないのでは?

画像を全部Testディレクトリにぶっこんで、
/usr/bin/python3 ...
のところを
(cd ~/Desktop/Test; /usr/bin/python3 main.py)
に書き換えれば動くんじゃね
0372デフォルトの名無しさん (ワッチョイ 8240-SZF4)
垢版 |
2021/01/18(月) 21:51:11.15ID:AlINAcl80
>>368
解説ありがとうございます。
私もQt Designerの悪さと思います。
しょうがないのでui側でアイコン設定しないで継承する実体クラスにコードを書いてカレントディレクトリが/home/piならパスを反映させる様にしました。
でもQt Designerでアイコンとテキストのサイズ確認が出来ないのが不便です。
0375367 (ワッチョイ 6e2c-vYIt)
垢版 |
2021/01/18(月) 22:23:59.02ID:JT9EgKXH0
>>368
Qt Designer って、Qtを作っているプロが作っているのかな?
そんなプロが、場所を変えるだけで動かないような、アプリを作るかな?

ちょっとテストすれば分かるものだから、そんなプロがいるとは考えにくい

失礼な先入観かも知れないけど、
君らのアプリの作り方が間違っているのじゃないの?

失礼で、スマン
0377デフォルトの名無しさん (ワッチョイ 7d6a-7ESL)
垢版 |
2021/01/18(月) 22:47:39.22ID:O0iVYrPe0
>>375
そう実際そうなんだよ。
こっちの使い方間違いのせんも大いにある。
だから詳しい人がいたら聞きたいんだよね。
0381デフォルトの名無しさん (ワッチョイ 863c-8lVI)
垢版 |
2021/01/19(火) 00:11:54.07ID:ejd3JYRG0
画像のモザイク消したい場合、どのへんの勉強したらいいんでしょうか?
ganからやるべきなのか、既存のライブラリを使うべきなのか
deepmosaicというのを使ってみたけど、あんまりクリアにならない
0382デフォルトの名無しさん (ワッチョイ 495f-r2My)
垢版 |
2021/01/19(火) 00:26:30.80ID:7ewnvD+00
普通に考えるとプログラム自身が使うリソースファイルを
フルパスで指定するってのは違和感あるな、配布等も考慮すると相対パスでアクセスできる方が都合が良いだろうし
0383デフォルトの名無しさん (ワッチョイ 0261-JESV)
垢版 |
2021/01/19(火) 00:38:24.65ID:Gi067dTi0
>>382
相対パスもカレントディレクトリが定まってないと意味無し
windowsはexeファイルがあるディレクトリのライブラリを読む仕様
要するに仕様を知らないで動かないのを自分以外のせいに
しないで
0384デフォルトの名無しさん (ワッチョイ 6ef2-Dqz3)
垢版 |
2021/01/19(火) 01:41:44.54ID:2SZFJemS0
>>368
>Qt Designerのバグだと思うんだけど
俺はPyQt使ったことないけど、Qt Designerは超使われているツールなんだろ
そんなのにこんなバグがあるっておいおいツールすぎじゃないか
Linuxは超ユーザー少なくてバク放置で良いって感じなのかな
0386デフォルトの名無しさん (ワッチョイ 8240-SZF4)
垢版 |
2021/01/19(火) 06:09:11.92ID:tvisVnjf0
Qt Designerでアイコンのファイルを指定するとファイルダイアログボックスが出て、ソースフォルダ内のhoge.pngファイルを選択すると.uiファイルには"hoge.png"が登録されて、変換後の.pyファイルにも"hoge.png"になるから相対パスが条件と思います。
AutoStartはパス指定が/home/piで呼び出すから、今回の問題となっています。
0387367 (ワッチョイ 6e2c-vYIt)
垢版 |
2021/01/19(火) 06:51:45.85ID:JrdPscbl0
hoge.png が、相対パスになっているのなら、たぶん正しい

>AutoStartは、パス指定が/home/piで呼び出す
この決め打ちがおかしい。
このアプリは、まともなアプリなのか?

まともなアプリなら、設定できるはず。
その方法を調べれば?
0388デフォルトの名無しさん (ワッチョイ 8240-SZF4)
垢版 |
2021/01/19(火) 08:31:12.54ID:tvisVnjf0
>>387
アプリがおかしいと言われてもmain.pyは以下の通りでMainWindowを呼び出すだけです。
from PyQt5.QtWidgets import QApplication
from mainform import MainWindow
if __name__ == "__main__":
import sys
app = QApplication(sys.argv)
Window = MainWindow()
Window.showFullScreen()
sys.exit(app.exec_())
フォルダー表示でmain.pyをクリックすればラズパイのThonnyが起動して、Runさせる分には相対パスでアイコンは現れます。
別のフォルダーに移動しても同様にアイコンは現れます。
AutoStartで起動するとNGです。
AutoStartの“~/.config/lxsession/LXDE-pi/AutoStart”ファイルには
/usr/bin/python3 /home/pi/Desktop/Test/main.py
としています。
このAutoStartファイルの書き方がおかしいのでしょうか?
cd /home/pi/Desktop/Testも入れてみましたが結果変わらずです。
アプリ側でフォームのラベルにカレントディレクトリを表示すると/home/piです。
# 現在のpathを取得する
import os
self.path = os.getcwd()
self.ui.testLabel.setText(self.path)
です。
0392デフォルトの名無しさん (ワッチョイ 8602-ahPi)
垢版 |
2021/01/19(火) 12:29:34.29ID:hDmXWGEK0
Java と TypeScript ( JavaScript ) からは、Win32API 叩いたことあるんだけど、
それらと比べて、Python から Win32API 叩くのってどれくらい楽?難しい?

C++ とか除けば C# が一番ラクなのはとりあえず知ってる。
0396デフォルトの名無しさん (ワッチョイ 82a5-cHx4)
垢版 |
2021/01/19(火) 18:02:46.61ID:3vFYkyri0
256倍本に読み方が載ってる
pythonじゃなくてCのやつな
0400デフォルトの名無しさん (ワッチョイ 8240-SZF4)
垢版 |
2021/01/19(火) 21:44:23.48ID:tvisVnjf0
リソースファイルと言っても.pyファイルでimportで指定するだけ。
直接オブジェクトファイルを指定するとアプリディレクトリとカレントディレクトリが合わないと駄目で、何でimportだと良いのか理解は出来ていません。
0410デフォルトの名無しさん (ワッチョイ 5f79-Zp8o)
垢版 |
2021/01/23(土) 21:23:21.71ID:Hsg7ZCv90
OpenpyxlでExcelいじってるんだけど、列ごとの最終行のセルを調べたい。どうしたらいいの?
0411デフォルトの名無しさん (ワッチョイ 5f61-Woof)
垢版 |
2021/01/24(日) 13:03:45.15ID:67l69Ijb0
ダメもとで、pythonのsliceみたくインデックスに-1指定してみるとか?
0413デフォルトの名無しさん (ワッチョイ 5f79-Zp8o)
垢版 |
2021/01/25(月) 19:04:21.56ID:pG6g+jm20
Openpyxlって読み取り専用のExcelファイルに書き込みってできないですよね?
読み取り専用解除→書き込み→読み取り専用に戻すっていう処理はどうやって書けばいいんですかね?
■ このスレッドは過去ログ倉庫に格納されています

ニューススポーツなんでも実況