くだすれPython(超初心者用) その43【Ruby禁止】
■ このスレッドは過去ログ倉庫に格納されています
★当スレにRubyのソースコード類を書くことを禁ず
☆Ruby等、Pythonではないプログラミング言語での回答類を書くことも禁ず
このスレッドは、他のスレッドでは書き込めない超低レベル、
もしくは質問者自身何が何だか分からない質問を勇気を持って書き込むスレッドです。
へび使いが優しくコメントを返しますが、お礼は Python の布教と初心者の救済をお願いします。
エラーを解決したいときはエラー表示や環境(バージョン/IDEまたはcommand line/OS)を略さずに書き込んで下さい。
騙りが頻発しています。質問する方は一時的なトリップをつけることを検討して下さい。
次スレは >>985 辺りで
※前スレ
くだすれPython(超初心者用) その42【Ruby禁止】
http://mevius.5ch.net/test/read.cgi/tech/1552884175/
◆PythonのHome Page
http://www.python.org/
◆まとめwiki
ttp://python.rdy.jp/
◆Pythonのソースコードをそのまま5ちゃんにコピペすると
インデントが崩れるので
こういうところ↓にはってきてください
ttp://ideone.com/ Pythonするにはぷち手間あるのがめんどうかなぁ
ttp://codepad.org/ ほぼ直感的に使える。Run codeボタンあり。
ttp://pastebin.com/ まずまずシンプル。
ttp://dpaste.com/ とてもシンプル。消えるまでの日数を長めに指定しる。
ttps://jupyter.org/try (旧try.jupyter.org)ちょっとめんどうそう
ttps://ja.osdn.net/pastebin/ ログイン必須になりやがった(゚Д゚#)
−−−−天麩羅ここまで−−−− 例えばリストをカッコ込みで文字として出力する必要がある場合などに使う感じですかね
それ以外よくわからないですが
動的に変数値を変化させるときに必要なんですか? seleniumでスクレイピングする時、ウェブが表示されるまで待機するコードは必要ないの?
今のところ表示が遅くても問題なく処理できてる >>597 この辺でも読んでみたら?
https://note.nkmk.me/python-format-zero-hex/
format 関数と
str.format と書く文字列のメソッドがあるが、俺はメソッドしか使わないな。 formatメソッドの方がサンプルは沢山転がってるだろう。
format は、変数の値を様々な形式の文字列に変換すること。 format面倒だから使わなくなった
f''
が便利 pythonのrequests使ってPOSTするプログラム作ろうとしているのですが、
param={a:"aaa",b:"bb"}みたいなパラメータではなく下のようなパラメータ(フォームデータ?)を送信させたいです
どういう書き方をすればいいのでしょうか
教えてくださいお願いします
------WebKitFormBoundaryC15BKaGNEiNN0Evx
Content-Disposition: form-data; name="files"; filename="a.txt"
Content-Type: text/plain
AA
------WebKitFormBoundaryC15BKaGNEiNN0Evx
Content-Disposition: form-data; name="files"; filename="b.txt"
Content-Type: text/plain
BB
------WebKitFormBoundaryC15BKaGNEiNN0Evx-- すみません
import MIMEができません
pip install MIMEしたんですが、いざimport MIMEしようとするとno module named MIMEってえらります
また、import MIMEしたところでどうすればいいのかわからないです
もう少しだけ詳しく教えてください
import MIMEする以外の方法も募集しています >>602
HTMLを読むまで待つらしい。javascriptはその限りじゃないみたい。 >>602
漏れは、Ruby だけど、要素の検索の timeout を設定してる
今のところ、5ch みたいに、空のHTML を送ってきて、
その後、Ajax で内容を取得するページでも、要素を取得できている
driver = Selenium::WebDriver.for :chrome, options: options
driver.manage.timeouts.implicit_wait = 30 # 要素の検索の timeout うざいから ruby を、NG ワードに登録した。 こうやって世間から弾き飛ばされていくんだろうな。
自業自得。 pythonダウンロードしたらnewszone.proとかいうウィルスも入ってきて最悪 >>609
おおありがとう
色々調べてわからなかったものがすっきりした 最近(といっても数年以上前からだけど)のダウンロードサイトって
本物と見せかけて無関係なあやしいexe落とさせるダウンロードボタン付いてるよな
かなり増えたわ >>617 かなり注意して全体を見渡さないとくだらない有料アプリをダウンロードさせられたりする。 一度変なのダウンロードして、何かの宣伝のポップアップが出るようになって、削除するのに苦労したわ。 >>618
sourceforgeなんか、ダウンロードできるexeそのものを公開者に無断で置き換えてたじゃん。 > 最近(といっても数年以上前からだけど)のダウンロードサイトって
> 本物と見せかけて無関係なあやしいexe落とさせるダウンロードボタン付いてるよな
> かなり増えたわ
↓
> sourceforgeなんか、ダウンロードできるexeそのものを公開者に無断で置き換えてたじゃん。
頭湧いてるなw 俺みたいな中3でグロ見てる腐れ野郎、他に、いますかっていねーか、はは
今日のクラスの会話
あの流行りの曲かっこいい とか あの服ほしい とか
ま、それが普通ですわな
かたや俺は電子の砂漠で死体を見て、呟くんすわ
it’a true wolrd.狂ってる?それ、誉め言葉ね。
好きな音楽 eminem
尊敬する人間 アドルフ・ヒトラー(虐殺行為はNO)
なんつってる間に4時っすよ(笑) あ〜あ、義務教育の辛いとこね、これ みんなどうやってレベルアップしてったんだ?
副業サイトでプログラミングのやつ応募しようと思ったが、実無経験無しにはハードル高そう。
このギャップどう埋めたらええんやろ? まずは転職して実務経験を積め
それが一番手っ取り早い
FizzBuzzが書けたら採用されるレベルの会社は世の中にいくらでもある >>627 フリーター/ 個人事業主か? だったら最初はコスト抜きに短期の簡単そうなのに参加すれば良いじゃないか。
結構マンパワーだけ求めてるようなのあるから そんなのを積み重ねていったら?
或いは条件なしでWebを作ってくれとか言うやつ。 これならいくらでもある。 それを勝手にPythonで作れば良いだけ。 注文主はできれば良いだけだからどう作ろうが気にしないのが多い。
単価は安いけど実績には使えるし、外から見れるホームページというのは実績のアピール力が大きいよ。
長期の派遣を厭わないのなら派遣業者に登録すれば、今時の事情を知らないから勝手なことを言ってるかもしれないけど。 >>630 >>627 そうとは言え、プログラマーには向き不向きがあるから今時そんな相談をするのはちと考えるかな。
何も知らないフリーターなら多分、普通のExcel が使えるとか、Excel VBAが出来ますという実績を積む方が早いかも。 これも仕事はたくさんあるが、、、単価は安い。
プログラマーというのはあらゆる知識、経験が必要だから、経験を重視するのは当然だが、必ずしも同じ言語経験を求めてるわけではなく、プログラマーとしての経験を求めてるんだよ。
考え方はほとんどみんな同じだから。
どの位運転資金があるのか知らないが、何も経験がない状態なら、派遣に入るのが手っ取り早いと思うよ。 そこでも経験を求めらるというのは当然だが、結構未経験でもOK なんてのもある。
特に若い時は蓄えもないだろうから、日銭が稼げるなら我慢すべき。 経験って具体的にどういう場面で使う類のもんなの?
どうコードを作って行くかとかの技術系なのかコミュニケーション能力系なのか >>632
社会人としての一般的な基礎は当然として、経験によって身につく最も重要な技術的スキルは感覚や勘だ
エンジニアのくせに何を非論理的なことをと思うかもしれないが、実際、
既にコードをバリバリ書ける優秀な新卒でも、それが身に付いて仕事で使い物になるレベルに達するまでには一定の時間を要する
具体的には、コードを書いた人間の意図を汲むとか、人間がミスしやすいポイントを先読みするとか、周りの空気を読んだコードを書くとか
エスパー能力と言ってもいい import csv
with open(ファイル名,'r') as f:
r = csv.reader(f)
このrからfor分を使わず、1つ1つ値を取り出したい場合、どうすればいいのでしょうか? YouTube のKENTA の動画を見れば?
他にも、未経験者からプロになった人の動画があるけど皆、Ruby
未経験者は、1年ぐらい、Ruby on Rails をやれば、仕事の流れがわかる。
おまけとして、CakePHP も、Rails のコピーだから出来るようになる
侍エンジニア塾では、独学で千時間掛かるのが、
マンツーマン指導で、300時間になるとか歌ってる。
授業料は、70万とか
無料のRails チュートリアルもあるけど、これを出来るのは、モサだけ!
Rails よりも前に、Sinatra をいじくり回すのが、お勧め! Rubyはもうだめだよ
仕事を取れなくなった人らがメンターサイト等に集まって物乞いする状態になっとる プログラム板にキチガイ降臨中!botに一晩も反応する異常さ
一般人(学校恩師)に殺害予告をしているのでスレ建て通報してください。
https://mevius.5ch.net/test/read.cgi/tech/1559872586/
142 名前:a4 ◆700L1Efzuv 投稿日:2019/06/18(火) 05:29:55 ID://qVkzO
>>141
名古屋の人な 俺ね、君の問題を大橋先生と混ぜないことにする。つまりね、
片桐孝洋のことをボコろうと思う。普通に顎の骨を折る。これくらいで警察来るか?
一般市民とかさ、普通にさ、俺らの秘密なんだけどさ、日本人なんて復活ねーから。 スクレイピングしたらjava スクリプト?がねーよ的なエラー出るんだけどこれどうすれば良い?
偽装みたいなのでなんとかなる? Python3で、ファイルの正規表現で示される範囲だけをreadしたいのですが、
よい方法はありますか
awkでいう/^aaa/,/^bbb/{〜}のようなことをしたく思ってます >>641
awkやperlのような便利な方法はないかな
import reしてセコセコと書くしかない Python3のfor文内で、ループ内でカウンタに入れられるリストの要素を進める方法を探してます
for i in range(10):
print(str(i))
i+=1
print(str(i))
とすると出力が0、1、1、2、2、3、…となりますが、これはfor文実行時にすでにrange()の結果がリストに展開されているため、それが代入されているカウンタiをいじっても、次のループにiに入れられるリストの要素は制御できないため、と考えてます
(本当は0、1、2、3、…としたい)
そうではなく、次のforループにiに入れられるrange()のリストの要素を進める方法がないか知りたいです
とりあえず
while(i<10):
print(str(i))
i+=1
print(str(i))
i+=1
とすると、iが数値なら期待した動作をするのですが、文字列等の場合でも使える方法は無いでしょうか リストに展開?
ジェネレータのままループごとにnextで取り出されてるだけでは? iter = (range(10)).__iter__()
for i in iter:
print(str(i))
i = iter.__next__()
print(str(i))
iter = ("abcdef").__iter__()
for c in iter:
print(c)
c = iter.__next__()
print(c) ごめん組み込み関数のiter上書きしちゃってたわw
it = iter(range(10))
for i in it:
print(str(i))
i = next(it)
print(str(i))
こうか。 すみません、
小数点以下3桁くらいの数字を、
比較演算子で条件付けようとしたら、
こんなエラーが出ました。
TypeError: '>' not supported between instances of 'str' and 'float'
型があっていないということでしょうか?
エラー出る時と出ない時があります、
型を、小数点3桁くらいの数字を比較するのに合わせるには、
どうしたらいいでしょうか。 >>651
対象の値をぜんぶ
if float(値1) > float(値2):
print(float(‘うんちぶりぶりっ’))
ってすれば出来んじゃね?しらんけど >>652
間違えた
最後のprint(‘うんちぶりりっ’)
これか >>652
ありがとうございます、
手当たり次第に、
float()でくくったらエラーでなくなった、
floatと、intは型が違うけど、
数字だから、比較演算子使えるのかなぁ float() > int()
こんなのは、
型が違っても可能? >>655
基本的な部分がわかっていないんじゃない?
こういうことだよ。
>>> 10.5>10
True
>>> "10.5">10
TypeError: '>' not supported between instances of 'str' and 'int' >>656
そうですかぁ
文字列と数字を比べなければいいのかな。 >>657
エラーメッセージはちゃんと読みなよ。
外国人が何か分からないことを言ってる!で済ますのではなく。
ちゃんと理由を説明してくれてるのだから。 にほんごでしゃべってくれればわかるんですけどぉ〜
だってここにほんじゃないですかぁ〜 >>658
厳密なプログラミングなのに、
英語が不親切、
instancesて、例えばって意味ですよね、
それで、'str' and 'int'と書いてるから、
文字列型と、int型以外は使えないと勘違いする、
例えばだから、float型も使えるって書いてくれればいいのに。 pythonに限らず界隈でinstanceって言ったらオブジェクトのインスタンスじゃん 読めなくたってエラーメッセージでググれば日本語で解説してるサイトは幾らでもあるのにそれすらしないのはなあ >>660
instanceの意味はちょっと取りにくいけど最近はコンピュータ用語としての意味を載せてたりする
http://sp.e-words.jp/w/インスタンス.html
取りあえず「実際の値」って思っときゃいい
要するに'str'と'int'は'>'で比較できないってこと
'int'と'float'も比較はできないんだけど'int'は必要に応じて'float'に変換してくれる >>661
Pythonに限ったらクラスもインスタンスもオブジェクトですね >>663
そうですかぁ
プログラミング初心者には奥が深すぎる。。。 そのエラーメッセージで検索するか、日本語に翻訳すればよい >>661
どこの界隈だよ!
>>664
限んなよ!
クラスがオブジェクトな言語なんてそこらにあるわ >>647 あのさ、何がしたいのかはっきりとわからないけど、
これじゃダメ? enumerate は、カウンタと変数を取り扱える。 この場合は count がカウンター
for count , x in enumerate( 'ABC') :
……print(count,x)
‘’’
0 A
1 B
2 C
‘’’ >>657 そうですよ。 比べる時は型を合わせましょう。
Python に型がないわけじゃないです。
print( '10.5' > str( 10 ) )
True
print( '010.5' > str( 10 ) )
False
print( float('010.5') >10 )
True だってさ、何を比べたいのか解からなければ答えを出せないじゃん Javascriptとかは多少行儀悪くても配慮してくれるから
"10.5" > 10
->true
"10.5" > 11
->false
ってなるけどpythonはstrを自動でintやfloatに変えたりみたいなことはしない JavaScript は、型違いでもエラーにせず、正常に値を返すから、怖いで!
"10.5" > 10 // true
"10.5ab" > 10 // false
あれ?
なんで、false になった? 教えてください、
デスクトップに、MMというフォルダがあって、
そのなかに、.pyのプログラムたくさん入っているんですが、
その中の、main.pyを実行したいです。
アナコンダと、Pycharmとspyderはインストールされてるのですが、
Pycharmかspyderで実行するにはどうしたらいいですか?
MMフォルダは、デスクトップじゃなくて、
どこかに移したほうがいいでしょうか?
main.pyだけ、Pycharmやspyderに登録?みたいなことすればいいのかな?
それとも、フォルダごとどうにかするんでしょうか? フォルダを、
Cドライブに移動して、
Pycharmでフォルダを開いて、main.pyを実行できました、
済みませんでした。
それで実行はできたのですが、
import xxx
とエラーが出てしまいました、
フォルダの中に、xxx.pycというのがあったのですが、
これをimportするのは、どうすればいいんだろ? import sys
sys.path.append('.') >>672 数字の文字列は数字に変換して比較できるけど、
ab とかいう文字列は数字に変換のしようがないんだから、常にFalse インスタンス参照しないクラス内のメソッドって推奨されないの?
prcharmがこれstaticメソッドじゃねてうるさいんだけどいちいち注意してくるてことはなんかそういう決まりごとあるのかなって Pythonのデコレータは
@staticmethod
だった Ruby で説明すると、
例えば、Math などのモジュール関数だろ。
sin, cos を求めるだけに、インスタンスは不要!
num = 0
Math.sin( num ) #=> 0.0
これがインスタンスから、呼び出すメソッドなら、こう書かないといけない!
これは面倒
num.sin >>681
論点はそこじゃない。
Rubyバカは黙ってろ。 >>681
ゆっくり死んでいってるねwRubywww pythonで正規表現をしたいです。
文字列中にある\をすべて削除したいのですが、text.replace("\\","")とやっても消えていない部分があります。
\',\'のような文字列が残ってしまいます。
これらを消すにはどうしたらいいのでしょうか?
また、listname.mylist=83656873;\ngFilename.file=435;mylist=new list(\'\\という部分を削除したいときにはどのように指定すればいいのでしょうか
数字部分は動的です。
本当に困ってしまったのでどうかよろしくお願いします。 >>684 そのソースコードをどういうコンピュータで入力したか知らないけど、 \ には2種類のコードがあるの知ってる?
x5C と xA5
バックスラッシュ と円サイン。 どちらも表示させると \ になるから紛らわしい。
消したいのはバックスラッシュでしょ? >>684 エディタで置換をして自分の思った通りに置換できるかどうか確かめてみたら?
listname.mylist=83656873;gFilename.file=435;mylist=new list('\
と変換したいの? >>690
.extract()を付けてもダメでした >>684-688
\ はバックスラッシュで、
\n は、単に改行を表す、エスケープシーケンス
Ruby で説明すると、abc の後ろで改行されている!
123, xyz の後ろでは改行されない
p で内容を見ると、"〜" で囲まれているから、これは文字列であり、
789 の後ろに、改行コードがあることがわかる
print "123"
print "abc\nxyz"
p "789\n"
出力
123abc
xyz"789\n"
エディタの表示では改行されるが、文字列の内部表現では、\n となる。
\n は、単なる決め事であり「\ n」という2文字が、実際に存在するわけではない!
文字数も、\n で、1文字扱い。
p "\n".length #=> 1 日本の文化について質問したら韓国文化の説明が始まった。何でも日本文化は韓国のパクりなんだそうな。 >>689-691
これは、一番近い先祖のID からの、パスになっていない!
'//div[@class="tpcHeader_thumb"]/p/@src'
Chrome の開発者ツールで、右クリックメニューから、XPath, CSS Selector を取得すると、
//*[@id="tpcHeader"]/div[2]
#tpcHeader > div.tpcHeader_thumb
CSS Selector で、
#tpcHeader > div.tpcHeader_thumb > p.tpcHeader_thumb_img
XPath で、p の直下ではない!
p要素のsrc 属性だろ
Ruby で、selenium-webdriver, nokogiri で、作った
driver.navigate.to "https://news.yahoo.co.jp/pickup/6327568" # ニュース
doc = Nokogiri::HTML( driver.page_source )
# at_css で、該当する最初の1つだけを取得する
element = doc.at_css( "#tpcHeader > div.tpcHeader_thumb > p.tpcHeader_thumb_img" )
url = element.attr( "src" )
puts url #=> 画像のURL >>688
listname.mylist=83656873;\ngFilename.file=435;mylist=new list(\'\\
を消したいです
別に変換がしたいわけじゃないんですけど・・・
なんか変なこと言ってるから伝わってないんでしょうか・・・ というか、そもそもa='3745'のときにa.replace("\d*","A")とやっても置換されません
考えられる理由を教えてください
一体どこがおかしいのでしょうか
import reは当然してます。aはstrです。 考えられるって言うか
str.replaceは正規表現を受け付けない
import reすればstr.replaceで正規表現が使えるなんて誰から聞いたのか知らないけど
大人しくre.sub使ってください あとねーこういう質問するときのテクニックとして
〜を消したいですとかじゃなくて
入力と欲しい出力を示す
例えば
入力文字列は "listname.mylist=83656873;\ngFilename.file=435;mylist=new list(\'\"
で、出力として "listname.mylist=83656873;ngFilename.file=435;mylist=new list('"
を得たいです。とかね ■ このスレッドは過去ログ倉庫に格納されています