【まず1嫁】くだすれPython(超初心者用) その56

■ このスレッドは過去ログ倉庫に格納されています
2021/12/27(月) 01:38:10.93ID:GepmXCuJ
当スレに★Python以外のプログラミング言語での回答類を書くべからず★
派生言語はそれぞれ専スレがある(この板にあるとは限らない)ので、そっち池。
「Ruby」「Rails」「某言語では」「クソチョンw」をNGワード登録推奨。荒らしは、完全スルー放置が一番きらいです。

このスレッドは「お勉強」スレのほうには書き込めない超低レベル、
もしくは質問者自身何が何だか分からない質問を、勇気を持って書き込むスレッドです。
へび使いが優しくコメントを返しますので、お礼は Python の布教と初心者の救済をお願いします。

★エラーを解決したい場合★は、
  表示されたエラーの全文(勝手に省略やスクショうp等の横着クソ行為禁止)と、
  実行環境(Pythonのバージョン・OSとIDEの種類およびバージョン)をシッカリ書くこと。

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

〇前スレ〇 【まず1嫁】くだすれPython(超初心者用) その55
https://mevius.5ch.net/test/read.cgi/tech/1633070807/

次スレたては >>985 あたりが挑戦する。
### END OF TEMPLATE ###
537デフォルトの名無しさん
垢版 |
2022/03/23(水) 18:03:21.12ID:cM5bvOqV
あーなるほど、そういう感じなんですね
わかりました。ありがとうございます

なんか要素へリンクしてて
l = bbox[0]
print(l) # 0
l = 20
print(bbox[0]) # 20
みたいな感じになると思ってました

bboxクラス作ります
2022/03/23(水) 19:08:25.09ID:OkzK5R+n
>>537
話ずれるけど、要素を外で書き換えるよりも箱の拡大縮小みたいなメソッドを作る方が一般的な気がします
2022/03/25(金) 13:39:47.22ID:uOX7ULt1
openpyxlでxlsxファイルを作る時にひとつのシートに複数のグラフを描こうとしたらThe same chart cannot be used in more than one worksheetってエラメ吐いたんだけど何でだろう
エラメでぐぐってもイマイチよくわからなかった
2022/03/25(金) 14:33:26.73ID:9HZfMhVl
chart2=chart1
とかやったりするとそうなるかも

複数チャート作る時に前のチャートを使いまわしたりしてない?
2022/03/25(金) 15:27:53.71ID:uOX7ULt1
使い回しはしてましたね…
グラフ描く回数の分同じ記述を何度もするのが嫌だったから関数にして複数回呼び出せばいいかと思ってた
グラフ描画部分の関数に引数として描画シートとか参照するセルの範囲を渡してやってたんだけどそれじゃ駄目だったか
2022/03/26(土) 06:26:35.95ID:m+SAsqZm
ダメってわけじゃないけど気を付けないといけないポイントがある
チャートとかのいわゆるオブジェクトのコピーはdeepcopy使う
2022/03/26(土) 11:27:01.85ID:qLHTxQhk
配布するpyスクリプトで標準外パッケージを使いたいけどユーザの環境を汚したくないというときはvenvのような仮想環境か
pyinstallerでまとめるくらいしか手は無いのかな。
どちらもpython.exe自体をコピーして大げさなんで、jsのwebpackみたいなパッケージのバンドルができたらよかったんだけど。
544デフォルトの名無しさん
垢版 |
2022/03/27(日) 17:22:26.41ID:nYvTQ02C
質問なんです
GIMPのpython使っています
# -*- coding: utf-8 -*-
import glob,os,re
file = glob.glob(‘C:\Users\name\Desktop\*.jpg’)
で取り出したファイル名を使ってファイルを開こうとすると
ファイル名が日本語の場合文字化けしてファイルが開けませんでした。
文字化けを直すにはどうしたら良いのでしょうか?
print(file)した時に文字化け表示される文字は
'C:/Users/name/Desktop\\\x83A\x83\x8a\x83G\x83N\x83`\x83\x83\x83b\x83g\x91\xce\x89\x9e.JPG'
こんな感じです
よろしくおねがいします
545デフォルトの名無しさん
垢版 |
2022/03/27(日) 17:44:38.62ID:p/i0WnQH
>>544
>ファイルが開けませんでした。
この時どんなエラーがでましたか?
546544
垢版 |
2022/03/27(日) 18:47:55.50ID:nYvTQ02C
>>545
RuntimeError: 'C:\Users\name\Desktop\�A���G�N�`���b�g�Ή�.JPG' を開いて読み込むことができません。
Invalid argument

これと詳細な情報のところに
Traceback (most recent call last):
File "C:\Program Files\GIMP 2\lib\gimp\2.0\python/gimpfu.py", line 740, in response
dialog.res = run_script(params)
File "C:\Program Files\GIMP 2\lib\gimp\2.0\python/gimpfu.py", line 361, in run_script
return apply(function, params)
File "C:\Users\name\AppData\Roaming\GIMP\2.10\plug-ins\add_aaaaaaaa.py", line 11, in aaaaaaa
2022/03/27(日) 18:48:39.52ID:px6SVueC
>>544
'C:/Users/name/Desktop\\\x83A\x83\x8a\x83G\x83N\x83`\x83\x83\x83b\x83g\x91\xce\x89\x9e.JPG'.decode("mbcs")
2022/03/27(日) 19:01:26.37ID:ayYjDlX4
>>544
バイナリでglobしてバイナリでopenしてみれば?
cp932がutf8の文字列として解釈されてるのが原因だと思う
glob(b'*.jpg')
549544
垢版 |
2022/03/27(日) 19:04:53.96ID:nYvTQ02C
>>547
ありがとうございます!
無事ファイルが開けてプラグインが完成しました!!
550544
垢版 |
2022/03/27(日) 20:00:09.87ID:nYvTQ02C
もう一つ質問で悪いのですが
これもGIMPです
数字を文字列にして文章とつなげているのですが
その半角数字を全角数字にしようとしましたが
エラーが出ます
どうしたらいいのでしょうか?
コードを書くと書き込めなかったので
スクリーンショットを貼ります
https://imgur.com/a/F2J1Ksw

エラーはこちらです
https://imgur.com/a/xv8Hcrt
551デフォルトの名無しさん
垢版 |
2022/03/27(日) 20:31:27.21ID:p/i0WnQH
>>550
https://ideone.com/
再現ができないのでここにコードを書いて、そのリンクを貼ってください
コードを書いて、Runボタンを押すとリンクが生成されます

こんな感じで
https://ideone.com/UGO5O1
2022/03/27(日) 20:34:15.47ID:px6SVueC
>>550
gimp2にバンドルされてるpythonは2.7なのでそのコードは使えないね
553デフォルトの名無しさん
垢版 |
2022/03/27(日) 20:35:54.32ID:p/i0WnQH
Python2か
554544
垢版 |
2022/03/27(日) 21:00:21.01ID:nYvTQ02C
>>551
こうですか?
https://ideone.com/cKytn2

>>552
python2の場合はどうすればいいですか?
2022/03/27(日) 22:12:37.46ID:GW1PkVkn
python2ってなんだよと思ったら、gimpって開発の勢いがないソフトだったんだな

2007年10月24日 - GIMP 2.4.0
2008年10月1日 - GIMP 2.6.0
2012年5月3日 - GIMP 2.8.0
2018年4月27日 - GIMP 2.10.0
今は2.10.30

Python 3.0は2008年12月3日
556デフォルトの名無しさん
垢版 |
2022/03/27(日) 22:21:41.23ID:p/i0WnQH
>>554
https://ideone.com/xemuRV
これでどうですか
557544
垢版 |
2022/03/27(日) 22:34:09.27ID:nYvTQ02C
たびたびすいません、GIMPのモノです。
glob.globが治っていたのが勘違いで
今度はアドレスに日本語が入ってると何も検索してくれなくなりました
どうしたらいいですか?
>>> glob.glob(b"C:\\Users\\name\\Desktop\\新しいフォルダー\\*.jpg")
[]
>>> glob.glob("C:\\Users\\name\\Desktop\\新しい\\*.jpg".decode("mbcs"))
[]
>>556
ありがとうございます!
無事小文字から大文字になりました
2022/03/28(月) 08:06:48.20ID:bggr0gZp
書き間違いだろ

「新しいフォルダー」と「新しい」のどちらかが、存在しないのでは?
559デフォルトの名無しさん
垢版 |
2022/03/28(月) 11:24:31.81ID:xKLASzt7
久しぶりにPython2触ってたら痒くなってきた
560デフォルトの名無しさん
垢版 |
2022/03/28(月) 17:43:20.16ID:FxPljt62
>>558
すいません地中で名前を変えたので
紛らわしくなりました
年のためもう一度試してみたのですが
やはりフォルダー内を検索してくれませんでした
2022/03/28(月) 17:54:40.03ID:rI7b9so+
解決案じゃなくて恐縮だけど
DOSの頃からAPI上のパス区切りはスラッシュで通るのに
入門書やサイトにバックスラッシュで記載あるのなんとかならんかな
2022/03/28(月) 18:42:28.40ID:zYEeILU0
ソースコードをutf8で書いたらいけない、ソースがutf8でなくshiftjisになってる、のどっちかじゃないか
563544
垢版 |
2022/03/28(月) 18:59:10.76ID:FxPljt62
自己解決です
folder_path=folder_path.decode("utf-8")
にしてみたら日本語でも行けました!
お騒がせしてすいませんでした。
>>561
GIMPのコンソールだとglob.glob()の中はバックスラッシュじゃないと反応しなかったです
2022/03/28(月) 19:04:00.69ID:rI7b9so+
>>563
そうなんだ
わざわざ試してもらってありがとう
Python2のglob実装みてみる
565デフォルトの名無しさん
垢版 |
2022/03/28(月) 19:27:15.27ID:FxPljt62
>>564のおかげで
バックスラッシュに気づけたので
解決出来ました
ありがとうございます

>>562
気づかずすいません
ありがとうございます!
そういう事みたいでした
2022/03/28(月) 19:41:51.56ID:awWxWPo2
u"C:\\Users\\name\\Desktop\\新しいフォルダー\\*.jpg"
のように最初からユニコード文字列にするのが正攻法かな
でもgimpのpythonコンソールに直に書く時は
u"C:\\Users\\name\\Desktop\\\u65b0\u3057\u3044\u30d5\u30a9\u30eb\u30c0\u30fc\\*.jpg"
のようにunicodeエスケープしないといけないのが難点

俺環のgimp2.10.30はスラッシュでも問題ないな
2022/04/05(火) 03:06:27.47ID:NFxs7VO2
【悲報】俺が2時間かけて作ったプログラムがこれ [125096601]
https://greta.5ch.net/test/read.cgi/poverty/1649069479/
2022/04/05(火) 17:14:08.59ID:EwNP7gad
uwscのBETWEENSTRに該当する
指定文字列から、AとBの検索語の間で文字列をカットする関数はありますか?
2022/04/05(火) 17:57:12.47ID:qZGMajZg
>>568
https://docs.python.org/ja/3/library/re.html#regular-expression-syntax
正規表現の (?<=...) と (?=…) をつかって re.search() あたり?
2022/04/05(火) 18:23:32.74ID:h0FbB6w5
まんま実装してるライブラリも探せばあるんだろうけど、普通は正規表現だろうね
python 正規表現 タグの間を取得」とかでぐぐれば
571デフォルトの名無しさん
垢版 |
2022/04/05(火) 18:27:10.86ID:/cMxK+XJ
zipファイル解凍しなくてもファイル数の確認ができるのだが
rarファイルではできないの?
2022/04/05(火) 18:59:43.10ID:EwNP7gad
>>569
ありがとうございます
labでいろいろ試してみます
573デフォルトの名無しさん
垢版 |
2022/04/06(水) 00:25:28.29ID:vOjBJMWB
テスト
574デフォルトの名無しさん
垢版 |
2022/04/06(水) 18:52:36.40ID:V6m5p1Ce
https://www.python.jp/train/loop/index.html
を参考にwhile文でクレジットカードのアカウント管理プログラムを作ってみようと思ったんだけど

例えばパイソンクレジットのパスワードはpythonだとして

text = ""

while text != "パスワード":

text = input("パイソンクレジット:")

print("python")

これで実行は出来たのですが2つ分からないことがあって

・パスワードだけじゃなくてIDや暗証番号などのも設定させたい場合の書き方
・while文は「パスワード」だけど、これだけじゃなくて「パス」や「pass」でも答えが表示できるようにしたい

この2つがどうしてもできません
575デフォルトの名無しさん
垢版 |
2022/04/06(水) 18:59:11.46ID:PpwVEMc8
>>574

> ・パスワードだけじゃなくてIDや暗証番号などのも設定させたい場合の書き方
IDや暗証番号もinputで取る
whileの条件を増やす


> ・while文は「パスワード」だけど、これだけじゃなくて「パス」や「pass」でも答えが表示できるようにしたい
while text not in ('パスワード', 'パス','pass'):
576デフォルトの名無しさん
垢版 |
2022/04/06(水) 19:21:28.09ID:V6m5p1Ce
>>575
後者やってみたけど

パスワードpassじゃないと入力できなくなっちゃった
書き方がおかしいのか?
2022/04/06(水) 19:48:17.76ID:aY4pnG+o
クォーテーションが全角になってるぞ
2022/04/08(金) 06:43:14.77ID:wVatZXx3
文字コード=sjis、改行コード=CRLFのテキストファイルを
それぞれutf8、LFのファイルに変換したい
どうすればいいですか
2022/04/08(金) 12:11:07.10ID:NfDoLo6c
>>578
with open('shift_jis.txt', mode='r', encoding='shift-jis') as f:
  lines = f.read()
with open('utf8.txt', mode='w', newline='¥n') as f:
  f.write(lines)
2022/04/08(金) 13:41:11.89ID:bGha8t6H
Windows相手なら encoding='cp932' が無難やね
2022/04/08(金) 15:29:47.16ID:iHIe6oz3
Shift-JIS_2004が来やがる事しばしば
かと思ったらWindows-1254とかと誤判断
2022/04/08(金) 17:06:38.29ID:pSQTwr1V
cchardet.detect(文字列)['encoding']
で取得した結果をopenのときに投げればいいんじゃないの
意外と使えるよ
583デフォルトの名無しさん
垢版 |
2022/04/08(金) 17:51:57.12ID:7I4TuE41
anser = input("パスワードは?:")

while anser!="パスワード"or"pass"or"パス":

print("OK")

これでどうしてもエラーが出てしまう
2022/04/08(金) 17:59:24.81ID:Nr5XXVVB
answer...
2022/04/08(金) 18:01:49.89ID:+3oW9fkF
そうですか。次はちゃんと質問しような
2022/04/08(金) 18:07:50.56ID:bGha8t6H
>>> "パスワード" or "pass" or "パス"
'パスワード'
想定してるような集合扱いにはならないのと、先に`answer != "パスワード”`が評価されるから
>>> True or "pass" or "パス"
True
>>> False or "pass" or "パス"
'pass'
のどっちかになる。
587デフォルトの名無しさん
垢版 |
2022/04/08(金) 18:20:28.20ID:7I4TuE41
>>586
ちょっと違うみたいで

anser = input("パスワードは?:")
while anser!="パスワード"or"pass"or"パス":
print("OK")

で↑に行を開けると起動するんだけど
今度は無限ループになる上に、while文の"パスワード"or"pass"or"パス"が効かなくなる
(enterキーとか適当な文字入力でも

OK
OK
588デフォルトの名無しさん
垢版 |
2022/04/08(金) 18:20:44.05ID:7I4TuE41
って無限ループしちゃう
589デフォルトの名無しさん
垢版 |
2022/04/08(金) 18:25:12.75ID:o9HNgSR+
質問です。
pyenvの設定をネットで調べると次の2つが見つかりました。
どっちが正しいのでしょうか?

(1)
echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bash_profile
echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bash_profile
# ↑ binになっている
echo 'eval "$(pyenv init --path)"' >> ~/.bash_profile
source ~/.bash_profile
(2)
echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bash_profile
echo 'export PATH="$PYENV_ROOT/shims:$PATH"' >> ~/.bash_profile
# ↑ shimsになっている
echo 'eval "$(pyenv init --path)"' >> ~/.bash_profile
source ~/.bash_profile
590デフォルトの名無しさん
垢版 |
2022/04/08(金) 18:30:46.90ID:7I4TuE41
実行環境忘れてた

ptyon3.10
IDLE
2022/04/08(金) 18:53:45.66ID:D6M1QgM/
エラーメッセージちゃんと読んでるか?
592デフォルトの名無しさん
垢版 |
2022/04/08(金) 18:59:35.32ID:7I4TuE41
>>591
expected an indented block after while statement on line 2
2022/04/08(金) 19:00:25.07ID:LwBnqH/T
>>589
漏れは、Windows 10, WSL2, Ubuntu 18.04 で、
日本人が作った、多言語バージョンマネージャーのanyenv を使っている。
nodenv(Node.js), rbenv(Ruby), jlenv(Julia), tfenv(Terraform)など、20言語ぐらいある。
同様のツールに、asdf もある

漏れは、~/.bash_aliases に、下のように書いている。
export PATH="$HOME/.anyenv/bin:$PATH"
eval "$(anyenv init -)"

これは、~/.bashrc の終わりの方で、
もし、~/.bash_aliasesが存在するなら、それを読み込むように書いてあるから
if [ -f ~/.bash_aliases ]; then
. ~/.bash_aliases
fi

bash で、下を入力すると、
which ruby
~/.anyenv/envs/rbenv/shims/ruby

which node
~/.anyenv/envs/nodenv/shims/node

WSL2, Ubuntu 18.04 サーバー(CUI のみ)では、~/.bash_profile は存在しない
2022/04/08(金) 19:02:02.75ID:bGha8t6H
>>589
https://github.com/pyenv/pyenv#installation
まず公式読んで

>>592
while True:
  answer = input('パスワードは?:')
  if answer in ['パスワード', 'pass', 'パス']:
    break
print('OK')

先にチュートリアルで構文を学ぼ
https://docs.python.org/ja/3/tutorial/
595デフォルトの名無しさん
垢版 |
2022/04/08(金) 19:02:33.34ID:KIOBCG5Y
>>590
そのコード何がしたいかわからん
inputパスがあってたら中身表示するとしたら

while True:
__ans = input('パスは?')
__if ans.lower() in ['パス', 'パスワード', 'pass', 'password']:
____中身表示系書く

とかだぞ
あと評価式でorするときは1から書き直す
if a == 1 or a ==2 or ,,,

とりあえず君は初心者本1冊完走してから作りたいもの作ろう
596593
垢版 |
2022/04/08(金) 19:10:07.84ID:LwBnqH/T
~/.pyenv/bin/ か、~/.pyenv/shims/ に、

python, python2, python3 の内のどれかは知らないけど、
あるかどうか見てみれば?
597593
垢版 |
2022/04/08(金) 19:14:42.64ID:LwBnqH/T
普通は、多言語バージョンマネージャーのanyenv かasdf を使う。
pyenv だけ使う事はまれ

nodenv(Node.js), rbenv(Ruby), jlenv(Julia), tfenv(Terraform)なども使うから

それか、Docker。
Windows, WSL2 なら、Docker Desktop
598デフォルトの名無しさん
垢版 |
2022/04/08(金) 19:15:41.95ID:7I4TuE41
>>594-595
https://www.python.jp/train/loop/index.html
一応このサイト見て勉強してるのですが
どうにもうまくいきません……
あとお二人方のコードで試したら、また別なエラーが出ました

作りたかったのは

Q パスワードは?
A パスワード、パス、pass
でAを入力するとOKと表示されるコードでした
599デフォルトの名無しさん
垢版 |
2022/04/08(金) 19:43:33.96ID:cn/Cvl0A
>>583
自分は、pythonは記憶とんだ。
だから、門外漢だけど、
「"パスワード"or"pass"or"パス"」じゃないなら、ループ。
って、おかしくない?

「"パスワード"or"pass"or"パス"」ならループ。
じゃないの?
ループを脱出したら「OKを表示」じゃないの?
2022/04/08(金) 19:50:24.15ID:xCRwEkJt
>>598

password_list = ['パスワード', 'パス', 'pass']
input_key = input('Enter Your password: ' )

if len(input_key) > 0:
for i in password_list:
if input_key == i:
print('おk')
if input_key != i:
pass
2022/04/08(金) 19:55:23.52ID:cn/Cvl0A
自分の発想のアルゴリズムだと、
アルゴリズム変えなければ、たぶんコメントなしだね・・・・・。
602589
垢版 |
2022/04/08(金) 20:16:11.04ID:o9HNgSR+
>>594
レスありがとうございます。
603デフォルトの名無しさん
垢版 |
2022/04/08(金) 20:24:09.51ID:KIOBCG5Y
>>598
本当に作りたいのがそれだけなら
passlist = ['a', 'b' , 'c']
if input('password ? ') in passlist:
__print('ok')
なんよ

とりあえず落ち着け。作りたいもの置いといて、基礎を学ぶのだ
今のままじゃ多分全部聞いて、全部身にならない
604デフォルトの名無しさん
垢版 |
2022/04/08(金) 20:47:17.17ID:7I4TuE41
>>603
上に上げたサイトだとローカル巻数とグローバル巻数の部分まで来たんですが
ここがどうしても意味不明です
605デフォルトの名無しさん
垢版 |
2022/04/08(金) 20:57:37.08ID:L/LJ1T8Z
>>604
お前にはプログラミングは無理だ
606デフォルトの名無しさん
垢版 |
2022/04/08(金) 21:39:05.15ID:7I4TuE41
まずIDLEだとインデントが上手くいかない
最後のprintだけスペース戻したらエラーになる
607デフォルトの名無しさん
垢版 |
2022/04/08(金) 22:21:47.04ID:YkLgLgBr
>>606
VSCode入れて、それでそのチュートリアルやってみたら
2022/04/08(金) 22:57:08.82ID:Qvok9sII
質問です
>>594>>603のようにlistでin演算子を使ったところ

同僚に「あー……listでin演算子使っちゃうタイプね(ニチャア)setやdictならわかるんだけどね……(ニチャア)参考までにこういうブログ読んでね【listでin演算子は遅いことを示したURL】(ニチャア)」

ということがありました
苛ついたので月曜日までにPythonを改良して(Python4を自作する)listのin演算子を早くしたいです。よろしくお願いします
2022/04/08(金) 23:35:22.01ID:xCRwEkJt
>>606
google colabでやったら?
2022/04/08(金) 23:41:09.25ID:xCRwEkJt
>>603
ほおおおおお
シンプルで勉強になる
2022/04/09(土) 02:15:52.81ID:Da31VTkt
ローカル巻数とグローバル巻数がわかりません
612デフォルトの名無しさん
垢版 |
2022/04/09(土) 05:08:42.56ID:fKWuF8Ed
IDLEは単純に使いづらいぞ、付属品だけど使ってる人皆無
VSCodeかPyCharmの無料版に切り替えた方が良いぞ
実際に開発する時も使うのはこのどっちかだし

Pythonのインデントは基本半角スペース4つだから全角はもちろん、TAB文字でもNG
だから最低でも半角スペースとかTAB文字が視覚的に表示されるエディタ使わないと話にならないし
何よりもデバッガ使って問題がある箇所を探す、っていう工程を覚えないと身にならん
2022/04/09(土) 05:17:34.20ID:STE4KUoA
>>611
赤巻紙、青巻紙、黄巻紙
2022/04/09(土) 05:29:39.23ID:eHvkij8x
ラズパイでPyQt5使ってます。
IDEはeric6ですが、他にありますか?
2022/04/09(土) 05:39:02.83ID:STE4KUoA
>>614
つ google colab
2022/04/09(土) 06:21:03.55ID:O1Wp6+GJ
>>579
ありがとうございます
openにこんなにいろいろ指定できるなんて感動
newline=に指定するのは出力したい真の改行文字ってことですね

ついでに改行文字について調べてみたら、
Windows版Pythonでprintやwriteに使う改行文字\nってLFのことで、
ホントはCRLFを出力したければ\r\nと書くべきなんだけど
newlineを指定しなければOSに合わせて\n→\r\nに変換して
出力してくれてるってわかってためになりました

ただこれはいいことばかりではなくて、str.replaceで改行文字を
指定して変換をかけるような時は、しっかり\r\nと書かないといけない
ので落とし穴でもあり、改行は恐いなと思いました
2022/04/09(土) 08:13:20.11ID:r2/dOOYj
>>615
ColabでGUI?っておもったけどローカルのJupyterに接続するんかな
手軽にリモート開発できていいかも
618デフォルトの名無しさん
垢版 |
2022/04/09(土) 08:50:33.02ID:eI7Hi2BA
質問です。
MacOS10.12.6 [bash]のpython3.8.3で、
下記のエラーメッセージが出ます。
どういう原因が考えられますか?
どうすれば良いのでしょうか?

ImportError: dlopen(/Users/xxx/yyy/lib/python3.8/site-packages/PIL/_imaging.cpython-38-darwin.so, 2): Symbol not found: ____chkstk_darwin
2022/04/09(土) 09:15:21.81ID:0h6RcYap
>>612
Python3.10になってIDLEメッチャ良くなったぞ
左にプロンプト専用のスペースができて表示が格段に良くなった
あとはjupyterみたいなセルを導入して欲しいかな

VSCodeとかPyCharmは聞いたことあるけど、明らかにIDLEの方が使われてるよ
だって付属品なんだもん、そもそもエディターはVimしかありえないじゃん?
Vim+IDLEが最強だって!

IDLEはbatファイルから起動させるようにしてるわ
毎回importするパッケージや変数定義をbatファイルに記述しておいて
batファイルでIDLE起動ドーン! これ超便利!
作業別にbatファイルを用意しておいてドーン! これ超便利!
620デフォルトの名無しさん
垢版 |
2022/04/09(土) 09:23:42.23ID:fKWuF8Ed
>>619
https://news.mynavi.jp/techplus/article/20200508-1031849/
残念ながらPyCharmとVScodeだけでシェア60割近く握ってるんだ……

batファイル起動とかも、今なら別にGitでクローンして持って来れば良いから
そんな面倒な事せんでも・・…
2022/04/09(土) 09:38:45.07ID:0h6RcYap
>>620
https://www.itmedia.co.jp/news/articles/2105/27/news089.html
残念ながらシェア60割近く握っているのはサクラエディタと秀丸なんだ・・

batファイル簡単じゃん、Gitクローンとか知らんし
2022/04/09(土) 09:53:46.27ID:a9m8EYfT
それ絶対一人で何回も投票した人いるよね?
2022/04/09(土) 09:56:19.00ID:erlZKZM8
>>621
それIDEも使わないようなエンジニアだしw
https://image.itmedia.co.jp/news/articles/2105/27/dy_nn_02_w290.jpg
あと>>620もそうだが60割って…
2022/04/09(土) 10:06:40.99ID:fKWuF8Ed
60%って書こうとしてたら60割って書いてたわ……
こんなアホみたいなミスするとは……
2022/04/09(土) 10:19:09.57ID:7zWpZRsf
PyCharmとかvimがそんなシェアあるって嘘だろって数値だから
ネタで割使ってるのかと思ったら素でやってたのか・・・
2022/04/09(土) 10:24:51.12ID:0h6RcYap
>>624
batも勘違いしてるでしょ?
IDLE起動するとき毎回同じimport文やらを記述するのが面倒だから
そういうのをbatファイルに記述しておいて、IDLEを引数渡しで起動させるってことだよ?
Gitクローン関係無いよね?
2022/04/09(土) 10:52:35.78ID:fKWuF8Ed
>>626
すまん、何か色々勘違いしてたみたいだわ
普通にコードのテンプレートみたいなものをbatで生成してるのかと思ったわ
2022/04/09(土) 11:29:12.77ID:0h6RcYap
>>627
なるほど、そういう勘違いね
IDLEでガッツリコードを書くわけじゃなくて、コードはVimで書く
IDLEは実行とかテストとかだね、VSCodeとかPyCharmとかも結局裏でIDLEで実行してるわけで
たぶんやってることは同じだと思う、知らんけど
2022/04/09(土) 11:37:03.51ID:ehpYMGIZ
>VSCodeとかPyCharmとかも結局裏でIDLEで実行してるわけで

IDLEってTkInter使ったただのエディタじゃね?VSCodeが裏で使うってどういう場面で?
2022/04/09(土) 11:54:52.85ID:0h6RcYap
https://docs.python.org/ja/3/library/idle.html
えー、IDLEは対話的インタプリタでありまして・・VSCodeはインタプリタの設定があるようで、
であるからして、えーインタプリタを裏で実行しているということでありまして
えー、、、つまり最後に「知らんけど」って書いてあるのが全てであります
2022/04/09(土) 12:47:04.00ID:yJynhyxC
IDLEは、コメントアウトのショートカットキーで"'# "に出来ない時点でアウトなんだよ
2022/04/09(土) 12:49:50.16ID:LiKgioEf
>>630
それよりPythonそのものがインタプリタ言語でしょって話だろ
一行ずつ変換してCPUで実行してるで原理は変わらない
2022/04/09(土) 12:51:34.84ID:LiKgioEf
開発環境の標準化と管理しやすさから
Docker使うのが楽ちんこかゆい
2022/04/09(土) 12:56:08.24ID:XJ3vBTOo
どういうことなの
2022/04/09(土) 13:15:20.25ID:fH1CYxKR
>>616
>ただこれはいいことばかりではなくて、str.replaceで改行文字を
>指定して変換をかけるような時は、しっかり\r\nと書かないといけない

テキストモードでnewlineを指定しなければ読ま込み時に\nに変換されてるのでstr.replaceは\nで大丈夫
2022/04/09(土) 14:56:49.55ID:lodglsEl
htmlのタグつきソースじゃなく、webの文字だけを直接取得する方法ってないの
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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