【まず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 ###
493デフォルトの名無しさん
垢版 |
2022/03/18(金) 11:41:42.28ID:EttWLc7+
端折りすぎて何がしたいかわからん
単純に
if func1()
elif func2()
else func3()
の構図じゃねそれ
2022/03/18(金) 11:54:17.65ID:S88dx27z
1→2→3→終了処理
1→2→終了処理
1→終了処理
この組み合わせになるってことだろ

ifで簡単にやるなら
ret = func1
if(ret) ret=func2
if(ret) ret=func3
finally()
495デフォルトの名無しさん
垢版 |
2022/03/18(金) 19:08:01.39ID:RDOlUVi1
Flaskでつくったアプリをデプロイ先で"git clone", "pip install -e ."して入れていて、アップデートがあった場合はgit pullだけしています
こういう使い方ってpipで管理できない以外で何か問題ってありますか?
確かでなくても何となく気になる程度の事でも書いてもらえるだけでも有難いです
2022/03/18(金) 19:21:48.00ID:/+NJrK2n
デプロイ時に公式リポジトリが落ちてる可能性あるからアリ
いまどきはコンテナ生成時にpip使うからそういうリスクないけども
2022/03/18(金) 20:29:14.39ID:GX/cM61n
pypiのパッケージって存在が保証されるんじゃなかったっけ
498495
垢版 |
2022/03/18(金) 20:31:32.06ID:RDOlUVi1
すいません、言葉足らずでした
自分で作ったアプリでリポジトリも自前のリポジトリです
2022/03/19(土) 00:10:30.98ID:k2W7TKOh
>>495
多言語のバージョンマネージャーのanyenv で使もう、rbenv のインストーラ
https://github.com/rbenv/rbenv-installer/blob/main/bin/rbenv-installer

これを簡単に説明すると、
Mac のHomebrew の場合と、Linux の場合で、処理を切り替えている

23行目 : rbenv="$(command -v rbenv ~/.rbenv/bin/rbenv | head -1)"
で、-v : 「コマンド」を実行せず、実行対象となるコマンドやファイル名、
関数・エイリアスの定義を表示する

25行目 : if [ -n "$rbenv" ]; then
で、-n : 文字列が1文字以上(ヌルではない)のとき真(not zero)

つまり、初回はgit init して、2回目以降は、git pull する

if [ -n "$rbenv" ]; then
git pull --tags origin master

else
git init
git remote add -f -t master origin https://github.com/rbenv/rbenv.git
git checkout -b master origin/master
fi
500499
垢版 |
2022/03/19(土) 00:18:51.04ID:k2W7TKOh
>>499
の続き

69行目からも同じ

69行目 : if [ -n "$ruby_build" ]; then
で、-n : 文字列が1文字以上(ヌルではない)のとき真(not zero)

つまり、初回はgit clone して、2回目以降は、git pull する

if [ -n "$ruby_build" ]; then
git pull origin master

else
git clone https://github.com/rbenv/ruby-build.git "${rbenv_root}/plugins/ruby-build"
fi
2022/03/19(土) 10:05:43.22ID:/3rRpnUt
こんにちは。
文字列を空行で分割したいのですが 良い方法が見つからず悩んでいます。
たとえば、文字列を2つに分割したいです。
良い方法があればヒントをいただけると助かります。

---------はじまり
aaa
bbb
<==== ここで分割したい
ccc
ddd
---------おわり
2022/03/19(土) 10:06:40.03ID:/3rRpnUt
サンプルの文字列がおかしくなったので再度書き込みます。
bbb と ccc の間の空行で分割したいです。

aaa
bbb

ccc
ddd
2022/03/19(土) 10:29:46.04ID:GJHZpfLi
gap_vector とかの話?タダの宿題?
2022/03/19(土) 10:40:05.16ID:93YS43Ns
pythonって簡単にできる命令が多いからそれ探しがちだけどそういうの考えなきゃいくらでもできるだろ
単純に配列に一行ずつ読み込んで、要素の中身をチェックして空ならそこまでの要素を切り出してくとか
全部をひとつの文字列として変数に入れて、split(\n\n)みたいな感じで分割すればいい
505デフォルトの名無しさん
垢版 |
2022/03/19(土) 12:41:10.12ID:umrdatZo
プログラムの初心者です。
書籍を見ながら勉強しているのですが、
指示通りに入力しても正常に反応しなくて、どこが間違っているのかわかりません。
どなたか教えていただけませんか?
506デフォルトの名無しさん
垢版 |
2022/03/19(土) 12:51:46.78ID:umrdatZo
>>505
import tkinter
root=tkinter.Tk()
root.title("初めてラベル")
root.geometry("800x600")
label=tkinter.Label(root,text="ラベルの文字列",font=("System",24))
label.place(x=200,y=100)
root.mainloop()
こう入力しましたがウィンドウが表示されませんでした。
2022/03/19(土) 12:59:31.84ID:d0jgyl+4
ファイルの文字コードがSJISになってるんじゃないかな
UTF-8で保存し直してみたら
508デフォルトの名無しさん
垢版 |
2022/03/19(土) 13:06:08.80ID:CtZdn1W5
>>506
vscode上ではそれで動く
509デフォルトの名無しさん
垢版 |
2022/03/19(土) 13:12:31.23ID:umrdatZo
>>506
です。
こちらで解決しました!
お騒がせしてすみません。
510デフォルトの名無しさん
垢版 |
2022/03/19(土) 19:10:36.78ID:ozskatPz
if x : return
elif y : return
else:
処理

みたいな、ガード連打するときなんか改行なしで行きたい気がするんだけど
やっぱ許されぬ罪なのですか神父様
2022/03/19(土) 19:21:11.13ID:guM/7r5m
elif/elseにする必要なくない?
2022/03/19(土) 20:04:09.95ID:XBFSEYPW
Kotlinとか書いてると実にそう思うが、そんな将来は来ない
513デフォルトの名無しさん
垢版 |
2022/03/19(土) 20:47:24.25ID:26UREXqN
if x or y:
__return
else:
処理

じゃだめなん?
514デフォルトの名無しさん
垢版 |
2022/03/19(土) 21:45:40.71ID:pKV2CHvJ
>>513
主題はそこじゃなくて
アーリーリターンが続くような構造では改行レスのreturnと書きたいが、許されるかどうか
ということでは
515デフォルトの名無しさん
垢版 |
2022/03/19(土) 21:51:17.02ID:GkqZBVMg
大学の研究室のコードとかはめちゃクソ改行レス
あいつら道具は動けばいいんでしょ精神だからぬ
2022/03/19(土) 23:15:07.02ID:guM/7r5m
でもカッコやendいるわけじゃなし
1行returnくらいあってもむしろ見通しいいし
2022/03/19(土) 23:25:51.88ID:ahrdIXj0
インデント強制するような糞言語だからなぁ
2022/03/19(土) 23:33:43.71ID:1HyJgrvG
if x or y : return


orでつなげるなら一応一行でも行けるぽいけど
2022/03/19(土) 23:50:57.25ID:1HyJgrvG
ガード節早期リターンをいれるなら
if elif elseでつなげるよりもifの連打でとことんリターンさせた方が条件の独立性も保たれるしわかりやすい
てかelifやelse 意味ないし

if a: return
if b: return
if c: return
2022/03/19(土) 23:53:44.87ID:1HyJgrvG
でも基本的にフロー制御せずに済むようにするのが一番
2022/03/20(日) 00:04:23.22ID:rHLSIq5o
jupyterlabのvpythonの拡張機能を入れようとしたら
3.3.2~3.4.0と5.3.2~5.4.0を同時に求められたんですがどうしたらいいですか
https://i.imgur.com/tBr5qLg.png
2022/03/20(日) 07:50:41.23ID:aLyHOWc6
>>501
Ruby では、空行は改行が2つ続くので、そこで分割すると、

input_text = <<'TEXT'






TEXT

p ary = input_text.split( "\n\n", 2 ) # 最大で2分割
#=> [ "あ\nい", "う\n\nえ\n" ]
2022/03/22(火) 14:47:11.41ID:ijxTKnpM
---a.py-----
import b
x="abc"

b.kansu()

---b.py-----
def kansu()
global x
print(x)

a.pyを実行させて、その中で呼び出された関数kensuの中でa.pyで定義された変数xを参照したいんですけどできます。
xが定義されてないて言われるんだけど。
2022/03/22(火) 14:48:37.57ID:PCBgHcJM
import b
b.kansu(x)
---
def kansu(x):print(x)
2022/03/22(火) 15:01:05.51ID:ijxTKnpM
>>524
そうやりたいけど、
b.kansu()をb.kansu(x)に変更するのが大変だから、質問してる。
2022/03/22(火) 15:11:44.38ID:BhdZW57e
質問です

大量にあるpng画像の中にある特定の画像が含まれる画像だけ抽出することはできますか?

例:オンラインゲームの撃破ログ時に特定の画像が画面内に現れるとする(ヘッドショットアイコンなど)
その画像は不変であるが、画面内のどこにあるかは不特定。

特定の画像のimgを先に作成しておき、その画像が含まれる画像のpngデータを抽出したい。
2022/03/22(火) 15:14:23.73ID:PCBgHcJM
pyscreeze.locate
2022/03/22(火) 15:23:33.53ID:48q5H/E5
>>523
できるけどおすすめしない
import b
b.x = “abc"
b.kansu()
bにxのアクセサ(プロパティ)つくるのがましかな
2022/03/22(火) 16:35:08.52ID:ijxTKnpM
>>528
出来ました。
ぜんぜんおすすめのような気がする。
ありがとうございました。
2022/03/22(火) 18:38:00.86ID:qHCIAUP+
変数じゃなく定数だったりすると、
本来は、別のconfig.pyあたりに書いて同じことをするんだっけ?
import config as g
g.x = 'abc'
みたいに
531デフォルトの名無しさん
垢版 |
2022/03/22(火) 20:38:23.71ID:Rdq5z+Lu
>>526
OpenCVのテンプレートマッチング
532デフォルトの名無しさん
垢版 |
2022/03/23(水) 15:54:16.61ID:cM5bvOqV
bbox = [0, 0, 100, 100]

l, t, r, b = bbox
l = 20
print(bbox) -> [20, 0, 100, 100]

こういうことがしたいんですが、どうすればいいですか
どういう単語で検索したらいいのかすらわかりません
2022/03/23(水) 16:22:45.21ID:9UuCXyQL
bbox[0]指定だと困る理由は?
534デフォルトの名無しさん
垢版 |
2022/03/23(水) 17:07:45.87ID:cgrsbd9g
>532 辞書使って無理やり。

bbox = { 'l': 20, 't':0, 'r':100, 'b':100 }
bbox['l'] = 20
bbox_values = list( bbox.values() )
print( bbox_values )
2022/03/23(水) 17:18:26.23ID:PTuUM17Q
あえてやるならこんなのとか
単語で検索するとしたらオブジェクト

bbox=([0],[0],[100],[100])

l,t,r,b=bbox

l[0]=20

print(bbox)

->([20], [0], [100], [100])
2022/03/23(水) 17:27:30.54ID:Uj8u7VlE
配列順に意味があるなら
L,T,R,B = 0,1,2,3
bbox[L] = 20
とか
意味ないならクラスか辞書で保持すべき
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 は存在しない
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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