当スレに★Python以外のプログラミング言語での回答類を書くべからず★
派生言語はそれぞれ専スレがあるのでそっち池。
「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(超初心者用) その51【まず1嫁】
https://mevius.5ch.net/test/read.cgi/tech/1602896738/
次スレは >>985 あたりが挑戦してくだしあ。(980過ぎて自動落ちは、無くなって久しい)
### END OF TEMPLATE ###
くだすれPython(超初心者用) その52【まず1嫁】
レス数が1000を超えています。これ以上書き込みはできません。
2021/01/09(土) 05:22:25.24ID:IpHIsox4
993デフォルトの名無しさん
2021/03/16(火) 15:17:05.62ID:z+A8n8B9 3.8以降なら代入式でいいんじゃね
994デフォルトの名無しさん
2021/03/16(火) 15:32:45.88ID:XtVeGAkv995デフォルトの名無しさん
2021/03/16(火) 15:40:26.02ID:ZzxG4K64996デフォルトの名無しさん
2021/03/16(火) 15:57:44.34ID:RaDf8rd1 >>988
クラスメソッドでググれ
クラスメソッドでググれ
997デフォルトの名無しさん
2021/03/16(火) 17:09:12.14ID:CHhu1vGO gzipか普通のテキストファイルかを名前で判別して読み込みたいんで下記のように書いてるんですが、read_fileがif/elseで2回出てくるのが冗長っぽいのでif/elseの後にread_file()をしようと思うとI/O operation closedとエラーが出ます。
with open後にインデント変えたので閉じられたたのかなと思うのですが、
gzipかそうじゃないかのファイルオブジェクトとやらをif文で決めた後に、1回の関数で処理するようなスマートな書き方出来ないものでしょうか?
現状
def read_file(f):
data = f.read()
…
name = 'hoge.txt.gz'
if '.gz' in name:
with open(name, mode='rt') as f:
read_file(f)
else:
with open(name) as f:
read_file(f)
with open後にインデント変えたので閉じられたたのかなと思うのですが、
gzipかそうじゃないかのファイルオブジェクトとやらをif文で決めた後に、1回の関数で処理するようなスマートな書き方出来ないものでしょうか?
現状
def read_file(f):
data = f.read()
…
name = 'hoge.txt.gz'
if '.gz' in name:
with open(name, mode='rt') as f:
read_file(f)
else:
with open(name) as f:
read_file(f)
998デフォルトの名無しさん
2021/03/16(火) 17:24:18.02ID:Z3x27iQ0 mode="rt" if ".gz" in name else "r"
999デフォルトの名無しさん
2021/03/16(火) 18:56:39.01ID:YZCX5YV2 func = gzip.open if name.endswith(".gz") else open
with func(name, mode="rt") as f:
read_file(f)
with func(name, mode="rt") as f:
read_file(f)
1000デフォルトの名無しさん
2021/03/16(火) 19:18:47.34ID:PfTIXkDh 【まず1嫁】くだすれPython(超初心者用) その53
https://mevius.5ch.net/test/read.cgi/tech/1615846784/
https://mevius.5ch.net/test/read.cgi/tech/1615846784/
10011001
Over 1000Thread このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 66日 13時間 56分 22秒
新しいスレッドを立ててください。
life time: 66日 13時間 56分 22秒
レス数が1000を超えています。これ以上書き込みはできません。
