[解決済み】改行がないファイルを読み込むには?
2022-01-31 02:22:54
質問内容
Pythonで
temp = open(filename,'r').readlines()
は、各要素がファイルの1行であるリストとなります。ちょっとバカっぽいですが、それでも
readlines()
というのは、各要素に改行文字を書き込んでしまうからです。
どうすれば回避できるのでしょうか?
解決方法は?
ファイル全体を読み、行を分割することができます。
str.splitlines
:
temp = file.read().splitlines()
または、手で改行を取り除くこともできます。
temp = [line[:-1] for line in file]
注 この最後の解決策は、ファイルが改行で終わっている場合のみ有効で、そうでない場合は最終行で1文字が失われます。
この仮定はほとんどの場合において正しい(特にテキストエディタで作成されたファイルでは、しばしば する を追加します)。
これを避けたい場合は、ファイルの末尾に改行を追加します。
with open(the_file, 'r+') as f:
f.seek(-1, 2) # go at the end of the file
if f.read(1) != '\n':
# add missing newline if not already present
f.write('\n')
f.flush()
f.seek(0)
lines = [line[:-1] for line in f]
あるいは、よりシンプルな代替案として
strip
の代わりに改行します。
[line.rstrip('\n') for line in file]
あるいは、かなり読めないが、偶数。
[line[:-(line[-1] == '\n') or len(line)+1] for line in file]
の戻り値であることを利用したものです。
or
はブール値ではなく、true または false と評価されたオブジェクトです。
は
readlines
というメソッドは、実は同等なのです。
def readlines(self):
lines = []
for line in iter(self.readline, ''):
lines.append(line)
return lines
# or equivalently
def readlines(self):
lines = []
while True:
line = self.readline()
if not line:
break
lines.append(line)
return lines
以降
readline()
は改行も維持します。
readlines()
を保持します。
注
との対称性を保つために
readlines()
は
writelines()
メソッドは
ない
は末尾に改行を追加するので
f2.writelines(f.readlines())
の完全なコピーを生成します。
f
で
f2
.
関連
-
[解決済み】お使いのCPUは、このTensorFlowバイナリが使用するようにコンパイルされていない命令をサポートしています。AVX AVX2
-
[解決済み】 AttributeError: モジュール 'matplotlib' には属性 'plot' がない。
-
[解決済み】cアンダースコア式`c_`は、具体的に何をするのですか?
-
[解決済み】Flaskのテンプレートが見つからない【重複あり
-
[解決済み] プログラムの実行やシステムコマンドの呼び出しはどのように行うのですか?
-
[解決済み] Pythonでファイルやフォルダを削除する方法は?
-
[解決済み] 改行やスペースを入れずに印刷する方法
-
[解決済み] Pythonでシングルトンを作成する
-
[解決済み] テキストファイルを文字列変数に読み込んで、改行を除去するには?
-
[解決済み】2つの辞書を1つの式でマージする(辞書の和をとる)には?)
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
Python 人工知能 人間学習 描画 機械学習モデル作成
-
Pythonの@decoratorsについてまとめてみました。
-
[解決済み】RuntimeWarning: invalid value encountered in double_scalars で numpy の除算ができない。
-
[解決済み】お使いのCPUは、このTensorFlowバイナリが使用するようにコンパイルされていない命令をサポートしています。AVX AVX2
-
[解決済み】RuntimeWarning: 割り算で無効な値が発生しました。
-
[解決済み】OSError: [WinError 193] %1 は有効な Win32 アプリケーションではありません。
-
[解決済み】 AttributeError: モジュール 'matplotlib' には属性 'plot' がない。
-
[解決済み】"No JSON object could be decoded "よりも良いエラーメッセージを表示する。
-
[解決済み】IndexError: invalid index to scalar variableを修正する方法
-
[解決済み】Flaskのテンプレートが見つからない【重複あり