くだすれPython(超初心者用) その48【まず1嫁】
レス数が950を超えています。1000を超えると書き込みができなくなります。
当スレに★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 ### >>849
他言語を下に見るやつは嫌い。
後、自身の周りを下に見るやつも嫌い。 >>851
pythonが好きッテコメントなら応援したと思うw >>852
真面目に教えて欲しいんだが、C#に比べてVBはどういうメリットがあるの?
VBAとして広く使われている、以外の理由で。 >>841
pythonが古びてないと思ってるんなら、少し視野を広げとかないと急速に老害化するで VBよりPythonの方が得意そうだと思うこと(ただしVBのことはよく知らない)
マルチプラットフォーム、機械学習、信号処理、組合せ最適化、Web、ラズパイ
いっぱいあるねw
これだけいっぱいあれば学習コストの何倍も回収することも状況によってはあるかもね >>844
なんだか、妙に鼻息が荒い人だな。
メンテ性が大切なのは分かるけど、それを理由に効率の良い新言語を習得する機会を逃すことについてはどう思う? 過去にVBで作られたアプリを作り直さなくなってしまい、社内にVBを使える人間が一人もいなかったので
わざわざオレがPythonを勉強して一日で作り直した。
なんでPythonをえ選んだかって? 流行りだからさ! >>853
国内では人員調達が容易で単価も安い
結局>>830君もその人員の1人でしかなく、その程度のレベルであるということだ
そうじゃない自分はもっと能力が高いと思うならこんなとこで愚痴ってないで自分に合う環境へ移ればいい 社内で一律何言語習得するかは別にして
遺伝子じゃないけど技術的に多様性が無い会社は流石に不安になる Python3.8を使用してます。
Python test.py だと
Import
が成功するのですが
test.pyだと失敗します
何故でしょうか すみません。今その環境がみれないのですが
エラー内容は以下の類です。
ModuleNotFoundError: No module named 'postgres' >>841
pythonて言語自体には面白味はないけど便利なライブラリが揃ったfortranと同じような立ち位置だと思ってた。 なんの議論してるのか分からんけど
後方互換バッサリ切って先進的な技術どんどん取り入れるような言語より
言語自体は枯れててライブラリでなんとかしてって言語の方が使う側としては楽ではあるな >>862 >>864
「.py」に関連付けられてて先に呼ばれるPythonは3.8ではない
かつ
postgresとかいうライブラリが入ってない
かつ
862=864はあほたにあ >>866
少し前までのSwiftや昔のScalaみたいに
言語仕様がまだ安定してない時期のものを除くと
言語自体が後方互換性をバッサリ切ってるようなのはほとんどないでしょ
結局問題になるのはライブラリの互換性
PythonはJavaやJavaScriptに比べるとライブラリのコンパイル時に問題が出やすいので
環境の変化にそれほど強くない >>862
testという名前が良くない
改名しろ >>864
Ruby なら、設定ファイルのGemfile、
Node.js なら、package.json に、
使うパッケージ・モジュールを定義しないと、
プロジェクトでは使えない・読み込めない
Python には、そういうプロジェクトの設定ファイルは無いの? PythonだっつってるのにわざわざRubyやNode.jsの説明するのってなんなん >>1 のNGワードでは対応できてないな。
シンプルに「Ruby」NGでいいのでは? では、から、なら、には、いろいろバージョンあるんやね !?
pythonなんかとは比べ物にならんくらい速いけど?
どういう条件で比べて言ってんの?pythonのほうだけC製ネイティブモジュール呼んでるとか? D がお客様離れて行ったのは仕様変更し過ぎが原因としか思えない askdirectoryでダイアログ出して
キャンセルしたときに取得したディレクトリのパスが
"()"になるんですけどそういうもんですか? Python3.8
GdalをPython setup.py install
しているのですが、
gdal.h not suchfile
見つからない旨のエラーがでます。
gdal.hはC:programfileフォルダのQGISESSENCEのPKGにあるのですが環境変数の設定が必要なのでしょうか。
その場合どのように設定が必要でしょうか >>882
おまえ>>862だろ
(・∀・)カエレ!!! from モジュール名 import *
と
import モジュール名
って何が違うの >>884
変数への代入のされ方が違うよ
例えば import math だと math = __import__('math') が実行されるので
モジュール内の関数とかを math.ceil みたいに モジュール名.関数名 で利用できるようになる
(mathモジュールがmathという名前の変数に代入されたってことね)
from モジュール名 import * の場合は モジュール内の関数とかが ceil = __import__('math').ceil みたいに個別の変数に代入されるので
math.ceil じゃなくて ceil だけでアクセスできるようになる
(mathモジュール内のceil関数がceilという名前の変数に代入された)
それぞれのimportの後にvars()を実行してみると違いがわかるよ >>885
なるほどd
例えば他のモジュールで関数名がかぶっても
(複数タブひとまとめにシェアできないっぽい?、script.pyの名前を変更できないのでひとつのタブに書いた・・)
https://techiedelight.com/compiler/?4ITr
再代入されて?で下のaの方が優先された
#a.hoge
#a.hoge 回線Ds-Liteにしたらスクレイピング時にエラー出る頻度が高くようになってしまった何故だろう
PPPoEだと問題ないんだけれど
TLSあたりでおかしくなってるのかなあ DNSの問い合わせ応答がIPv4からIPv6になったとかいうことはない?
IPv6を返さないサイトだとフォールバックが生じて、アプリによっては待ちきれずにエラーということもあるし python関連でググルとよく引っかかるnkmkってところはよくお世話になってる。使えるテクニックが多い
簡潔で見やすくてわかりやすい "A_001.py"
"A0_001_002.py"
みたいに、先頭数文字のあとに必ず一度、場合によっては真ん中にもう一度アンダーバーが入る命名ルールの列挙があります
先頭数文字にはアンダーバーは入りません。
正規表現で最初のアンダーバーまでの文字(A, A0)だけ 取得したいんですがどうすればいいですか?
re.match (r"(\w*(?=_)), strings)
これでA0_001になるのはどうして? m= re.match (r"(\w*(?=_)), strings)
print("A_001.py"[: m.start()]) >>894
あー
r"\w*?(?=_)"
か。たすかりました pythonでもいいのですか?
サーバはphpじゃないのかしら JSON形式の文字列をpythonで出力しているんですが
値にJSの関数を入れたいときはどう書けばいいんでしょうか
{ start: new Date('2020-07-16'), end: new Date('2020-07-17') } >>900
phpはサーバーじゃない
>>901
それはPythonの質問じゃないJavaScriptのスレチ >>902
できないってことですか?
文字列にしといてあとはどうにかしろと today = (lambda x: f'new Date(\'{x.year}-{format(x.month,"02")}-{format(x.day,"02")}\')')(date.today())
json = f'{{start:{today}}}'
pythonのコードはこんな感じです >>903
jsonのファイルを読み込んで処理するのはJavaScriptでしょう?
jQueryで日付ガントチャートとかはそれで出来るので
JavaScript側で考えましょう >>905
JSというかMongoDBなので少々面倒なんですよ
できれば出力側でどうにかしたい >>906
JSでオブジェクトにしたいのなら
JSがオブジェクトにしたい時に
JSがオブジェクトに出来るような為の
必要な情報だけを書き出せば良いんじゃ無いですかぁー JSON送ったら任意コードを実行出来るとか
なかなかワイルドな機能だな >>908
ごめん>>901は
日付文字だけ送ってやったら
JSでnew Dateオブジェクトにするんじゃ無かったんか?
だったら勘違いだったわすまん。
<すcript></すcript>タグに文字列として吐き出すかsrc=のDOMにhoge.js を偽装したhoge.phpで書くとかすれば出来なくもないし、
他の言語で使う時もそうするけど?
いづれにしても、すれち >>901
{ “start”: “2020-07-16”, “end”: “2020-07-17” } >>885
from matplotlib import pyplot
と
import matplotlib.pyplot
の違いは? >>909
>>904
js の callback 使え PythonにはPHPにあるようなheader関数って無いのか? >>912 横だが
その後の利用の仕方が違うだろ
それ以前に
まず
おしえてもらったら御礼を言えよ! python3で何度やってもModuleNotFoundError: No module named
って出てくるからsys.pathでモジュール実体の場所みたら
'/usr/lib/python3.7', '/usr/lib/python3.7/lib-dynload',
'/usr/local/lib/python3.7/dist-packages', '/usr/lib/python3/dist-packages'
空っぽぴえん
pip3 installで入ってくれるんじゃなかったの・・? いろんなPython入ってるんじゃないの、どのpip使ってるか >>917
pip3で--versionしたら(python3.6)ってなってた
でもpython3は3.7.5だった・・
これか! 一向に解決しなくてイライラしてお礼いうの忘れてたわ
>>917さんくす
>>919,920
linuxでpythonアンインストールしたら不具合があるどうのこうのでジレンマ・・
とりあえずpip3再インストールして
python3.7 -m pip install pip
してバージョン確認したら(python3.7)になってくれた!(3.7.5だけど3.7でいいのかは気になるが無視) こういうのがあるから俺はdockerのコンテナ内で開発してる
仮にpythonのバージョンを変えたくなっても、dockerfileの取得イメージ変えればいいだけ Windows 10, WSL, Ubuntu 18.04 でも、環境構築できるようになった。
VSCode の拡張機能、Remote WSL も使う
Linux側には、日本人が作った、バージョンマネージャーのanyenv で、rbenv, nodenv を使って、
ruby 2.6.6, node 12.16.2 を入れた
yarn は、Windows側に入れて、WSL から、拡張子なしのyarn コマンドを呼べる。
これは、#!/bin/sh で始まるシェルスクリプト
anyenv は多言語向きで、rbenv, nodenv, pyenv, phpenv などを同じ使い方で、統一的に扱える。
同様のツールに、asdf もある
結局、全言語を同じ使い方で、仮想化する方がよい!
Rubyはrbenv、Node.jsはNVM、Pythonはvenv とか、一々、使い方が異なるのは、やっかい こっちはフルパスで書いてるけどもっと良い方法ありそう!
C:\python3.8.3\Scripts\pip3.exe install C:\python3.8.3\ints\tensorflow.whl anyenv なら、global ならユーザー環境、
local なら、そのプロジェクトだけの環境を切り替えられる
rbenv は、Ruby のバージョンマネージャーで、
system は、元からシステムに入っているバージョンのこと
rbenv global system
rbenv global 2.6.5
rbenv local system
rbenv local 2.6.5 cv2でリサイズ使うと急に機嫌損ねて保存できなくなるのどうにかなりませんか >>909
日付に関してはDateオブジェクトを渡さないと日付として
データを操作することができない仕様なんですわ
'2020-07-16'のような文字列だと日にちや時間を進めたりできない
もちろんJSを使うことはできますがMongoDBの組み込み関数の中で
JSを使うのがけっこう面倒なんですよ
日付をイジる構文ごとにそれをやらないといけないし
eval的なのでどうにかできませんかね
これできないとpythonでMongoDBを操作するライブラリを使うようにする手術が必要になるので・・ 試しにJSでDateオブジェクトを含むオブジェクトを直列化してみたけど
その結果は
{"test":"2020-01-05T00:00:00.000Z"}
とかなんかそんなかんじだからそういうのをpythonに吐かせればいいんじゃないですかね というかJSでJSONにDateオブジェクトを直列化してそれを再度オブジェクトに戻してもstring型になってる(当たり前)から
同じフォーマットに沿った文字列を吐きさえすればJSを介する必要はない frame = cv2.resize(frame, None, fx = 1, fy = 1)
だと保存されますが
frame = cv2.resize(frame, None, fx = 0.5, fy = 0.5)
にするとプレビュー時は0.5倍された映像で表示されるけど、
結果は数百バイトのファイルが生成されるだけで終わります(動画として再生されません)
画像はリサイズうまくいったので、コーデック的な問題なのでしょうか?
https://ideone.com/dwZXxI x座標なんですが、10から-10の間を行ったり来たりするものが作りたいです
10に達したらマイナス側に反転し、-10に達したら10側に反転するというものです。
https://ideone.com/g6H4qf
これだとマイナス側だけに動いちゃいます >>932
videowriterのサイズと画像のサイズは合ってるの? 探したら普通にdatetimeぶち込めるやつがありましたわ
しかもJSコードまで使えるから使い勝手良さそう
誰が使うんだってほどニッチなライブラリ取りそろえてるpythonでできないわけがないんですよ >>934
ありがとうございます!
できました!
>>932の10行目
out = cv2.VideoWriter("output.mov", int(fourcc), fps, (int(width*0.5), int(height*0.5)))
にしたらいけました(1.0みたいにfloatだとだめでした)
てっきりout.write(frame)でresizeに合わせてくれるのかと思ってましたが
VideoWriterのとこでリサイズサイズに合わせないといけなかったのですね
すっきりしました!
ただ、きっかりリサイズサイズとサイズが合ってないとダメなのでしょうか
数ピクセルの誤差くらいはOKなのかいまいちわかりません >>933
宿題け?
「から」「間」って、絶対値10超えていいの?
+
Pythonのif文は上から順にあてはまるかどうか判定されるので、
書く順番はダイジ >>938
超えても超えなくてもいいです。
振り子運動のようなものにしたいのです >>939
おkはあく
>if vec.x < 10:
↑ここがいかんよ
if vec.x < 10 and vec.x > -10:
に汁
+あわせて
elif vec.x > -10:
は
ただ
else:
と書き換えればおkl こういうのって
vec.x += a
ってして
vec.x==10のときにa=-1
vec.x==-10のときにa=1
ってやるのが常套手段かと
てか今のコードだと現在上昇してるか下降してるかがわからなくね? https://ideone.com/x7Ssbt
https://i.imgur.com/OpKVgcz.jpg
やってみたんですが、こういう出力になってしまいます
x座標は初期では0で、どちらかの10まで達したら、反転するというものがやりたいです いろいろやり方はあると思うけど
せっかくなのでサインコサインを使っみてはどうだろうか >>943 >>944
テストおつ
>>942が示してくれてるように、
+1するのか-1するのかだけを
はじっこでスイッチするのが
もあクレバーだわ
がんがれ >>946
アンカー間違った
わかるとおもうが
×944
◎>>945
だな
蟻人間なんてどーでもイー >>943
現在どちらの方向に移動中か変数で管理する 0か00のintかstrの入力があって,ループで99までカウントアップさせたい.出力はstr
00のとき,01.02.03..としていきたいんだけど,どういう書き方が良いですか? '.'.join((str(i).zfill(2) for i in range(int(input)))) いまいち仕様がはっきりしないけど、
".".join(f"{n:02}" for n in range(100))
こんなん? レス数が950を超えています。1000を超えると書き込みができなくなります。