Pythonのお勉強 Part64

レス数が950を超えています。1000を超えると書き込みができなくなります。
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
2021/04/28(水) 15:59:44.14ID:snsrMSzN0
おかしくね、それ
-5割る-1が7になる奇怪な定義
除算の定義が変な言語は沢山あるから何れかの写経?

Bが正ならばAの正負を問わずpythonの//は常に切り下げなので、A//B +1でいいよ
2021/04/28(水) 16:03:14.36ID:snsrMSzN0
何れにせよその定義だと正数に対しすら切り上げ除算になっていない
4.5割る2が2になってしまうことは理解できる?
2021/04/28(水) 16:07:14.74ID:snsrMSzN0
検算
(4.5+2-1)//2=5.5//2=2

x//y+1を採用すれば
4.5//2 +1 = 3
2021/04/28(水) 16:08:01.62ID:snsrMSzN0
>>857
適当言うんじゃない
2021/04/28(水) 17:04:41.64ID:snsrMSzN0
除算の妥当な定義は数多あるので、算数に自信がないならmath、rational、decimalあたりの関数を常に引くべき
2021/04/28(水) 17:50:11.40ID:MMub4JLHd
適切な関数を探すことは概念を学ぶ事でもあるね、math.ceilは浮動小数点誤差の影響受けたっけ?
気にし過ぎだと思うし使わんから知らんけど、fractionあたりにベストなのがありそう
2021/04/28(水) 17:53:45.83ID:O4frZqUPd
x//y+1もpythonの仕様知ってる人じゃ無いと意味が取れないし、厳密さを求めないならceil(x/y)の方がよい
2021/04/29(木) 17:31:27.21ID:hj4NO6UY0
>>858
4/2が3になるのは切り上げ除算とは言わなくないか?
正確に何をしたいか書いてない質問者のせいでもあるけど
float同士ならどうせfloatの演算があるのだからmath.ceilで、
int同士なら途中がfloatになるのがなんとなく嫌だからb-1足すかなあ
2021/04/29(木) 19:36:58.53ID:1cDcYESD0
ほんとだ、エッジケースきよつける
2021/04/29(木) 20:56:01.58ID:hj4NO6UY0
必ず切り下げという性質を使って、-(-a//b)とかでもいいかもね
868デフォルトの名無しさん (ワッチョイ df36-X1kV)
垢版 |
2021/05/02(日) 01:13:08.87ID:C8xhjbsF0
いま、ウトウトと寝てる時にパッと動かないプログラムの解決方法がうかんだ。
取りあえずPC立ち上げて、修正したら治った。

「やればできる」ってティモンディの言葉が頭にうかんだww
2021/05/02(日) 03:23:09.69ID:D0H9Kz0y0
ヤればデキる
2021/05/02(日) 03:27:40.94ID:7TggazD90
そして今に至る
2021/05/02(日) 04:08:20.16ID:JgyYzw080
寝ればできる
2021/05/02(日) 11:38:48.84ID:g3nsW/yy0
寝ると解決することは多い
2021/05/02(日) 12:14:50.55ID:erwB920s0
不眠症の解決法かよ
2021/05/02(日) 12:19:12.82ID:elVJf43z0
確かに考えが煮詰まっちゃうと何やってもダメだね
他の事するか寝た方が良い結果になる事が多い
2021/05/02(日) 12:21:53.49ID:Misbn2VGa
果報は寝て待て
2021/05/02(日) 12:57:42.51ID:PbhH3UoFD
>>874
考えが煮詰まるならなんら問題ないのでは?
行き詰まるなら問題だけど
877デフォルトの名無しさん (ワッチョイ dfa5-fzHW)
垢版 |
2021/05/02(日) 14:11:02.03ID:LNg0Rmy40
煮詰まる=頭がフットーする=ショート寸前→オーバーヒートして活動停止直前
2021/05/02(日) 16:02:56.47ID:erwB920s0
誤用が幅を利かせてる
1980年頃から芸能人が広めた
最初に松山千春が使っててアホかと思ったら
そのうち日本中がアホだらけになり
今じゃ俺の方が間違ってると言われる
2021/05/02(日) 16:45:57.48ID:JJSkdeu1a
夢で解法が浮かぶことあるよな
ずっと脳みそが考えててくれてるんだろうな
2021/05/02(日) 17:15:41.36ID:GmZFM6c40
そういう、もともとの字義と異なる意味付けする慣用句って絶対的なもんじゃないと思うがなぁ。
大昔に誰かが考えた例え話を他の人が真似して広まっただけでしょ。
2021/05/02(日) 17:50:18.30ID:JJSkdeu1a
そこは行間ってやつで各々の解釈でしょ
偉ぶりたい人が本当はこういう意味だって言いたいだけ
そもそもスレ違いなのでやめよ
2021/05/02(日) 18:31:14.80ID:MZX7dFl/0
情けは人のためにならない
2021/05/03(月) 00:12:31.41ID:05/q0oTK0
クソどうでもいい突っ込みありがとう
確かに行き詰まるの方が適切かもね
学びました
884デフォルトの名無しさん (エムゾネ FF8a-dxvU)
垢版 |
2021/05/08(土) 15:39:27.54ID:Jy6pPGdOF
昨日はNHKが「煮詰まる」使ってた
2021/05/08(土) 15:51:29.66ID:u3pC/fKN0
発生するのはクラスター「感染」
クラスターそれ自体が発生するような言い方をするマスゴミが多すぎる
NHKも例外ではない
886デフォルトの名無しさん (オッペケ Sr33-VKOh)
垢版 |
2021/05/08(土) 15:54:23.29ID:7Wu6F1zWr
pythonスレでそんな報告されてもどうしろちゅーねん
887デフォルトの名無しさん (ワッチョイ 4a36-A8Mv)
垢版 |
2021/05/08(土) 16:42:45.27ID:kqOd9Dq50
誤爆ですか?
久しぶりにみたw
2021/05/08(土) 17:15:16.15ID:X0LS7Vwf0
JapaneseLangも大事だからな
2021/05/08(土) 17:17:16.56ID:PKsPL+EHD
>>885
スレチだけどクラスターそれ自体は発生するよ
そこで感染するか否かも別としてね
2021/05/08(土) 18:50:39.39ID:9yf90I//0
>>889
まぁ、クラスター=集団だから、意味だけなら確かにそうだね
でも、マスゴミの使い方はクラスター=集団「感染」(disease cluster)だからなぁ
カタカナ語を乱用する悪いところだよ
Wikipediaでさえ間違えた使い方をしてる

pythonなどのプログラミングでも、特定の用語をわかってるようでわかってない使い方するのと同じだな
厳密な使い方をしないと、プログラマ間での引き継ぎなどの意思疎通ができなかったりする
891デフォルトの名無しさん (ワッチョイ be10-VKOh)
垢版 |
2021/05/08(土) 19:06:22.24ID:G8AJgM7u0
USBメモリの事をUSBと省略するようなもんでは?
誤解が生じない文脈であればそれで良い
コロナの文脈で「クラスター」と来たら100%集団感染を指すことは一般的な合意があるから問題ないと思うが
2021/05/08(土) 19:13:22.03ID:9E5vClwK0
>>891
USBと言えばUSBメモリの事なのかw
誤解してミスっても許されるから良いんだろうけど
そんな文化の会社嫌だなぁ
2021/05/08(土) 19:34:10.23ID:xa73gkMM0
部下が「USBに保存して持ってきました」と言ったら普通はUSBメモリの事だと解釈すると思うんだが
日本語は文脈による推察が多い言語でそこが問題点ではあるけど簡略化出来るのが良いところでもある
齟齬が生じるような場面で簡略形は使うべきでは無いし正しく伝えるべきではあるが
文脈から推察出来る状態で推察出来ない者はそちらの不足
クラスターもUSBも同様
解釈出来ない方が使えないバカ
2021/05/08(土) 19:41:39.81ID:9mI4QBadM
こういうのは言われて何言ってるか
わからなかった時に切れたらいい
わかってるのに
2021/05/08(土) 19:41:51.75ID:dliZQgGi0
「USB 挿したら情報漏洩のアラームが鳴るよ」
と言った場合、どうするんだろう?
「USBメモリに決まってんだろ、バカ」と言われるんだろうな
2021/05/08(土) 19:51:23.95ID:2bVk+j4oM
TPOを弁えてる人の方が好ましい
897デフォルトの名無しさん (ワッチョイ be10-VKOh)
垢版 |
2021/05/08(土) 20:15:33.54ID:G8AJgM7u0
>>892
日常生活でも重さや距離を「キロ」、データ容量を「ギガ」と言ったりするのはよくあると思うがいちいち噛み付いてるんか?
2021/05/08(土) 20:20:47.48ID:qWSJBBiud
8グラムビットのメモリは許容できない
2021/05/08(土) 20:24:52.40ID:Zxa3nnfS0
TPO弁えてる人はスレチの話題を引っ張らない
2021/05/08(土) 20:30:50.76ID:OT8lTfEo0
USBをウサビって読む俺みたいなやつもいるしな
2021/05/08(土) 20:36:49.79ID:7r3Hpe1w0
>>890
集団感染の意味でクラスターとかクラスターが発生するという言い方は
USやUKを含む海外メディアや医学論文でも一般的に使われてるので
君のほうが間違ってると思うよ
2021/05/08(土) 21:16:09.40ID:9yf90I//0
>>897
IT関連で5Gじゃ何を意味しているのかわからないじゃん
2021/05/08(土) 21:21:45.53ID:9yf90I//0
>>901
メディアでは日本と同じように省略された用法ももちろんあるだろうが、
医学分野ではDisease clusterという一応きちんとした言い方があるのは事実
Disease cluster - Wikipedia (en)
https://en.wikipedia.org/wiki/Disease_cluster
2021/05/08(土) 21:32:31.98ID:oG8l9UERM
>>903
省略してるわけじゃなく
コロナでクラスターといえばひとつ
美しい日本語は関係ない
2021/05/08(土) 22:22:10.44ID:OMBJLEnUM
別の言い方があるからといってクラスターを集団感染の意味で使うのが間違いということにはならないけど?

間違いだと考えた理由はそれだけ?
906デフォルトの名無しさん (ワッチョイ be10-VKOh)
垢版 |
2021/05/08(土) 22:49:09.63ID:G8AJgM7u0
>>902
そりゃあ文脈が不明な状態で5Gとだけ言われても分からないよw
907デフォルトの名無しさん (ワッチョイ be10-VKOh)
垢版 |
2021/05/08(土) 22:52:24.05ID:G8AJgM7u0
「自分は用語をキチンと理解しているので厳密に使い分けることが出来る。他の奴らは理解できていないから適当に使っている」と思っちゃう症状はあるよねえ
908デフォルトの名無しさん (ワッチョイ 4a36-A8Mv)
垢版 |
2021/05/08(土) 23:00:50.49ID:kqOd9Dq50
python意外の話題のがスレが伸びるってww
2021/05/09(日) 00:37:04.99ID:tLh6kPn80
>>903
めんどくせーやつ
2021/05/09(日) 02:53:55.33ID:U8kb9Yag0
Pythonと言われてもPython2か3か分からんぜ
911デフォルトの名無しさん (ワッチョイ dabd-M0W8)
垢版 |
2021/05/09(日) 04:45:38.95ID:mxwEnA2Z0
最近psdの切り出しを自動で行おうとpythonを始めたのですが、パーツを全画面で保存したいのですがtuple警告が出て全画面保存出来ませんでした。
どこが間違っているのでしょうか。
あと、現在読み込んでいるファイル名の取得をしたかったのですが、それらしいメソッドを見つけられませんでした。
osか何かで取得するのでしょうか。
初歩的な質問ですみません。

アナコンダのpython3.8 win
psd-toolsは1.9.17
import psd_tools
psd = psd_tools.PSDImage.open('psd_test.psd')
if 'psd_name' not in locals():
# print('リストは空です')
psd_name = []
for layer in psd:
print(layer.name)
psd_name.append(layer.name)
layer.visible = True
layer.top = 0
layer.left = 0
layer.sizu = psd.size
layer_image = layer.composite()

# layer_image.save('%s.png' % layer.name,bbox=(0,0,1280,2880))
layer_image.save('%s.png' % layer.name,)
2021/05/09(日) 07:32:44.65ID:1KwInKl10
初心者はまずエラーを省略せずに(自分の言葉で説明せずに)貼るところから始めよう
環境を書いてるのはとてもよい

psdのレイヤーとカンバスのサイズは必ずしも一致しないけど
レイヤーの方が小さいのにカンバスのサイズを指定してるせいではみ出してるって警告だったりしない?

「現在読み込んでいるファイル名」ってpsd_test.psdのこと?
それなら変数に入れておいて後で参照することはできないのかな?
2021/05/09(日) 10:19:20.80ID:mxwEnA2Z0
>>912
エラーログを貼らずに申し訳ございません。

色々弄ってしまい再現出来なくなってますが、tupleだから値を入れられないと言うエラーと、おっしゃる通りpsdのカンバスサイズの値をセットしたからはみ出してるみたいなエラーでした。
bboxを指定したらうまくいくのかと思ったのですが……
他のいくつかの言語でpsdをあつかった時には、これまで問題無くカンバスサイズで出力出来ていましたので、psd-toolsもやり方はあると思うのですが良くわかりませんでした。

ファイルネームも確かにopen時にタプル辺りに入れて置けば済むお話なのですが、psd-toolsのプロパティに取得されていないか調べた限り無さそうでしたのでご質問させて頂きました。
2021/05/09(日) 11:17:07.33ID:mwtFRYiM0
横だが、layer.sizu にタイポしてるのはわかった
2021/05/09(日) 11:38:10.11ID:mxwEnA2Z0
>>914
layer.widthとかrightとかいろいろ試してお手上げになった状態でのアップですみません。
sizeが無視されているのは理解しています...
916デフォルトの名無しさん (アウウィフ FF1f-dxvU)
垢版 |
2021/05/09(日) 13:18:00.76ID:WMytKT+1F
>>890
サーバークライアントの意味でクライアントって言ってたら
相手は客のことだと思ってたでござる
2021/05/09(日) 21:34:35.33ID:Y5EYGf4m0
ブリーフケース(///)
918デフォルトの名無しさん (ドコグロ MM22-mYFP)
垢版 |
2021/05/10(月) 18:23:17.30ID:q8pYWnpdM
画像の大きさを調べるcv2なんだけど
本体のピクチャフォルダの画像はちゃんと動くのにUSBメモリの画像だとNone Typeエラーが出る
いちいちピクチャフォルダにコピーしてやってたけど面倒くさいので原因を調べたらフォルダの名前が日本語だとエラーになるとわかった
こんなくだらない原因だったわけだけど外国人からしたら日本語なんかどうでもいいってことだな
2021/05/10(月) 18:37:19.38ID:amOs/mCF0
https://qiita.com/SKYS/items/cbde3775e2143cad7455
これかな
日本語パスはライブラリによっては問題になるからファイルパスを直接指定しないで、バイナリをロードしてから呼ぶか、
一旦安全なASCIIのパス名に変換するのが定石かな。
C/C++を使ってみるとわかるけどパス周りはOS依存が結構きつくて取り扱いが難しいんだよね
OpenCVも元はC++なのでその辺の難があるのだと思う
920デフォルトの名無しさん (ドコグロ MMcf-mYFP)
垢版 |
2021/05/10(月) 19:35:27.55ID:7qCYSKBHM
>>919
わざわざ丁寧な説明ありがとう
レベルが凄く高い人だなっこてとは凄くわかる
921デフォルトの名無しさん (アウアウウー Sa1f-dxvU)
垢版 |
2021/05/10(月) 20:03:51.77ID:yFq032Kra
日本語でもC++だと問題無くてPython版CVだけ可笑しかったりする
Pythonの開発陣が日本語というか多言語文字列の扱いに弱い
2021/05/10(月) 20:07:42.49ID:amOs/mCF0
>>920
レベルが高いとは思わないけど、クロスプラットフォーム開発に慣れるとそんなもんかなって思うようになる。
Windowsは癖が強いよ。
>>921
Macユーザーからすると、Win32APIの独特な感じに対応しきれてないという感じがするけどね。
Macだと特に問題ないから。
CではWin32APIに合わせてパスを取り扱わないとうまくいかないのも、WindowsでC++の開発もしてるから知ってる。
923デフォルトの名無しさん (アウアウウー Sa1f-dxvU)
垢版 |
2021/05/10(月) 21:00:51.99ID:yFq032Kra
Windows10
C++
OpenCV
UTF-8
で問題無し
2021/05/10(月) 22:51:54.95ID:ViCp850r0
ユーザー名・ファイルパスなどシステム関係に、ascii 以外を使ったらダメ!
何百種類も言語があるので、誰もascii以外でテストしないから

日本人が韓国語・中国語でテストしないのと同じ

ウェブ系・Linux は、UTF-8 で統一されているけど、
Windows は、CP932, UTF-16 とか独特だから、互換性がない

また、ファイルシステムでも異なる。
Linuxのext4、WindowsのNTFS
2021/05/10(月) 23:07:14.58ID:85dwBuQM0
何百種類と言うほどあるか?

日本人だが、各言語でテストするがなぁ。。

Ruby大好き君みたいな思い込みだな。
2021/05/10(月) 23:09:34.54ID:jLWGeya+0
いつものRuby君だろう
相手するだけ無駄
2021/05/11(火) 04:04:16.18ID:dqpSilRI0
その何百種類を列挙してみたまえ

日本では195国を承認+1の日本自身で
196国ってのが定説なのでな
2021/05/11(火) 07:21:54.96ID:d5zwYE5F0
N=196として大体O(N^3)くらいまでの処理なら可能なのか
2021/05/11(火) 07:30:45.98ID:DmSv02kv0
ただまあ、UTF8にちゃんと対応してたら今のWindowsで問題が起こることはあんまりない気がするんだが。
外部ライブラリも、まずtempディレクトリにファイルコピってから読み込んだりしない?
2021/05/11(火) 08:34:01.32ID:h4puiiGX0
ルートパスのマルチバイト問題か

そもそもユーザー名に日本語使ってたら
特にanacondaでエラー出まくったり
931デフォルトの名無しさん (エムゾネ FF8a-dxvU)
垢版 |
2021/05/11(火) 10:51:47.99ID:FWZS8iTBF
>>927
臺灣とかも忘れないで
932デフォルトの名無しさん (エムゾネ FF8a-dxvU)
垢版 |
2021/05/11(火) 10:53:57.94ID:FWZS8iTBF
>>930
Anaconda は history (~/.python_history) に日本語が入ると
次回起動時にエラー出まくるな
2021/05/11(火) 11:25:39.21ID:xvfsSHrPd
https://github.com/Anaconda-Platform
オープンソースだからヒマなときに貢献してもいいんだよ。
934デフォルトの名無しさん (ワッチョイ 4a36-A8Mv)
垢版 |
2021/05/11(火) 11:28:13.21ID:GapEDKMb0
昔し、プログラムで文字処理をしてたとき日本語が大嫌いになりましたw
2021/05/11(火) 12:51:10.74ID:7ptfjLTw0
日本語大嫌いになったのも納得の日本語能力
2021/05/11(火) 12:53:32.41ID:CcLkTs9f0
たしかにpythonで日本語が糞だった時期はあるが
その頃は他の言語でも同様に糞だった
今のpythonはそこまで糞じゃない
バグがまだあるのは認める
2021/05/11(火) 15:12:58.21ID:4bicXgTJ0
やはり、>>911のレイヤーを全画面(psd.widrh psd.heightのサイズ)で保存する方法は難しいでしょうか……
いろいろggrksで読んでみましたが、それっぽい記述をみつけられませんでした。
2021/05/11(火) 15:47:17.97ID:5XAHZZDF0
>>937
大昔、Adobe内蔵のJavaScriptもどきでレイヤーごとの保存操作をしたことあるけど、そもそも「そういうもの」というか、内部ではレイヤーはレイヤーの大きさでしか記録されてないような気がした
いっそ、レイヤーを読み込んだ後、それのキャンバスを画像サイズに拡張する処理を入れて、それから保存してはどうだろう
939デフォルトの名無しさん (エムゾネ FF8a-dxvU)
垢版 |
2021/05/11(火) 16:07:13.22ID:fqa8TtQ0F
>>911
layer.sizu = (3600, 4800)

#.sizu もそのまま
で問題無い
940デフォルトの名無しさん (ワッチョイ 9f5f-dxvU)
垢版 |
2021/05/11(火) 16:27:13.08ID:jUIDYAvI0
layer_image = layer.composite(viewport=(0, 0, 3600, 4800))
でも画像サイズ変わったわ
941デフォルトの名無しさん (ワッチョイ 9f5f-dxvU)
垢版 |
2021/05/11(火) 16:31:03.97ID:jUIDYAvI0
from PIL import Image
image = Image.fromarray(layer.numpy()).resize((3600, 4800))
でもいけるっぽい
2021/05/11(火) 17:22:58.86ID:4bicXgTJ0
皆様、レスありがとうございます。
>>938 他の言語いくつかでは可能でしたし、何よりフォトショの標準スプリクトで遅いとは言え可能なので、なんらかの方法はあるのかなとおもってました。ただ、今過去に作った物を見直すと確かに全画面の透明レイヤーを合成してる物もありました。
>>939 layer.sizu = (3600, 4800)では、私も最初それで可能と思ったのですが、なぜかダメでした。。(無視されました)
>>940 layer_image = layer.composite(viewport=(0, 0, 3600, 4800))で一応うまくいきました。 大変ありがとうございます。 ただこのままだと0, 0起点で出力されましたのでレイヤのプロパティから位置を計算するメソッドを加筆すれば上手くいきそうです。
>>941 PILはまだ読んでませんでしたので、これから読んで組み込み可能か調べてみます。

まだ完全ではありませんが、だいぶやりたいことが出来かけてきました。
もう少し色々弄ってみたいと思います。
またどうしてもお手上げだったらお教え頂けますと嬉しいです。
943デフォルトの名無しさん (ワッチョイ 9f5f-dxvU)
垢版 |
2021/05/11(火) 17:38:38.01ID:jUIDYAvI0
できた
a = (layer.numpy().astype(np.float32) * 255).astype(np.uint8)
Image.fromarray(a).resize((3600, 4800)).save(filename, format='PNG')
2021/05/11(火) 22:10:01.73ID:62zfmCQO0
Imagemagick とかで出来ないのか?

Ruby on Rails ですら、これを使っているのにw
2021/05/12(水) 01:21:34.04ID:tIqma0tm0
脆弱性だらけのゴミがなんだって?
脆弱なのはお前の頭だけにしておけよ
2021/05/12(水) 07:22:36.40ID:MI+fe7Oz0
サーバサイドで実行する話だったの?
947デフォルトの名無しさん (ワッチョイ be10-VKOh)
垢版 |
2021/05/12(水) 09:07:05.70ID:UzzLkgtj0
Imagemagickの威を借るRuby
948デフォルトの名無しさん (ワッチョイ eaa5-NK3V)
垢版 |
2021/05/12(水) 12:13:24.96ID:WnfvQLr30
今のSNS業界だと画像を一列に並べる需要がある
そこで整形ソフトの出番になる
画像リサイズ切りぬきだけで世界のマシンパワーの5%くらい使ってるはずだ
2021/05/12(水) 12:35:47.76ID:Vrwat3RK0
>>948
世界のマシンパワーの殆どは仮想通貨採掘に費やされてるよ
950デフォルトの名無しさん (テテンテンテン MMe6-dxvU)
垢版 |
2021/05/12(水) 14:14:33.72ID:M0io7dsdM
お世話になります。
textへ出力する際に上手く改行ができないので、知恵をお貸し頂きたいです。

【書き出したtextファイル内容(実際の出力)】
1
2
['変数X(0.1)、変数Y(0.1)\n', '変数X(0.1)、変数Y(0.2)\n'・・・(省略)・・・'変数X(1.0)、変数Y(1.0)\n',
a
b
・・・(省略)

【本来書き出したい内容】
・・・(省略)
1
2
変数X(0.1)、変数Y(0.1)
変数X(0.1)、変数Y(0.2)

・(省略)
変数X(1.0)、変数Y(1.0)
a
b
・・・(省略)
951デフォルトの名無しさん (テテンテンテン MMe6-dxvU)
垢版 |
2021/05/12(水) 14:14:43.04ID:M0io7dsdM
【出力部分のコード】
・・・(省略)
with open(filename+".txt", "w+", encoding="UTF-8") as exportfile:
print(exmojiretu, file=exportfile)

【xmojieretuの中身】
1
2
['変数X(0.1)、変数Y(0.1)\n', '変数X(0.1)、変数Y(0.2)\n',・・・(省略)・・・'変数X(1.0)、変数Y(1.0)\n']
a
b

かなり初歩的なことかと思いますが、何卒宜しくお願い致します。
2021/05/12(水) 14:57:55.68ID:qh5Vp3SFF
print(exmojiretu, file=exportfile)
の行を
for e in exmojiretu.split('\n'):
if e.startswith('['):
for f in eval(e.replace('\n', '\\n')): print(f.replace('\n', ''), file=exportfile)
else:
print(e, file=exportfile)
にする
953デフォルトの名無しさん (ワッチョイ 8fa6-Mp1u)
垢版 |
2021/05/12(水) 15:48:03.42ID:uk2oquVi0
>>950-951
https://docs.python.org/ja/3/library/ast.html#ast.literal_eval

import ast

for line in exmojiretu.split("\n"):
    if line.startswith("["):
        lst = ast.literal_eval(line)
        for x in lst:
            print(x.rstrip("\n"))
    else:
        print(line)
2021/05/12(水) 19:19:41.19ID:sB2E3rgHM
>>952-953
ご回答頂きありがとうございます。

ご教示頂いた方法を試してみましたが上手くできずしばらく検証しておりました。
結果的に今回記載させて頂いたコード外で修正をすることでなんとか解決をすることができました。
配列内に配列があるから上手く改行できないのだと考え、「exmojiretu」に渡す時点で「変数x(0.1)、変数Y(0.1)・・・」の部分をjoinでstring化してみたところ、改善できました。

記載部分以外で解決してしまい申し訳ありません。事前にそこまで記載をしておくべきだったかもしれません。
eval等は今まで知らなかったのでとても勉強になりました。
また何か詰まったら質問させて頂ければと思います。
ありがとうございました。
2021/05/12(水) 19:31:30.60ID:kHJZdKGAM
s=r'''
1
2
['X(0.1),Y(0.1)\n', 'X(0.1),Y(0.2)\n','X(1.0),Y(1.0)\n']
a
b
'''
for line in s.splitlines():
 try:
  a=""
  exec("a="+line)
 except:
  pass

 if type(a)==list:
  for i in a:
   print(i)
 else:
  print(line)
956デフォルトの名無しさん (ブーイモ MMd6-36qt)
垢版 |
2021/05/12(水) 20:14:47.19ID:wMG8/+l6M
クソチョンw
957デフォルトの名無しさん (エムゾネ FF8a-dxvU)
垢版 |
2021/05/13(木) 14:22:03.71ID:gQUYeg5tF
eval 禁止
レス数が950を超えています。1000を超えると書き込みができなくなります。
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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