• ベストアンサー

pythonのprintで出力された内容をまとめてstringにいれる

pythonのprintで出力された内容をまとめてstringにいれる方法? pythonでhtmlをprint出力した内容をstr型などに文字列として 格納したいと考えています。 WEBで調べたのですが、pythonは最近、勉強しはじめたばかりで、 調べ方が悪く、見つけられません。 どのような方法があるのでしょうか? *勉強不足で申し訳ございません。

質問者が選んだベストアンサー

  • ベストアンサー
  • kmee
  • ベストアンサー率55% (1857/3366)
回答No.2

Pythonに限った方法ではないですが。 方法1) printは使わず、 変数に文字列として追加。終了時にその文字列をまとめてprint 方法2) printの出力先をStringIOオブジェクトにして、ファイルに書く様にして文字列に追加。 終了時にその文字列をまとめてprint 方法3) 自前のprint互換の関数を用意。通常のprintと文字列追加を行う

pythonmuzu
質問者

補足

いろいろな方法のご提示、ありがとうございます。 php では、ob_startでprintで出力される先を指定して、 あとから一括して受け取ることができたのですが、 そのイメージだと方法2が近いのでしょうか? *あまり、高度な知識がなく申し訳ございません。

その他の回答 (1)

回答No.1

何のstringに入れるのでしょうか?

pythonmuzu
質問者

補足

phpのob_startのような方法を考えております。 *プログラミングの知識が薄く、具体的に説明できず申し訳ございません。

関連するQ&A

  • Stringクラスの文字列の内容

    こんにちわ。 http://oshiete1.goo.ne.jp/kotaeru.php3?q=742689 に似たような質問がございましたが・・・ 関連書籍やサイトのいずれを見ても、 「Stringクラスは文字列の内容を変更することは出来ない」 と書いていますが・・・ String str1; String str2; str1="こんにちわ"; str2="さようなら"; str1=str1+str2; System.out.println(str1); とコーディングすると、何事もなく、 「こんにちわさようなら」 と出力されます。 そうなると、StringBufferクラスのappendメソッドをわざわざ使用しなくてもよくなるのですが、 これは、どのように解釈すればよいのかご存知の方がおりましたら、ぜひ、教えてください。 以上、宜しくお願いいたします。

    • ベストアンサー
    • Java
  • PythonでUTF8の文字列をリストに入れると文字化けする

    PythonでUTF8の文字列をリストに入れると文字化けして、困っています。 以下、サンプルコードです。 a='あ' print a cmd=[] cmd.append(a) print cmd 結果は以下のようになります。 あ ['\xe3\x81\x82'] 文字化けしないようにリストに格納するにはどうすればよいでしょうか。 また、最終的にやりたいことは、リストの内容をLinuxのコンソールに出力することです。 Linux上で、$'\xe3'$'\x81'$'\x82'とすると'あ'という風に認識してくれるので、このようにリストに格納されれば良いと思っているのですが、良い方法はあるでしょうか。 よろしくお願いします。

  • google app engine のpythonでの文字列操作につい

    google app engine のpythonでの文字列操作について教えてください。 google app engine で python を使い、開発しています。 このソース内で、以下の構文がエラーになります。 (関係ないところは、はしょっています) import string str = "kyouha ii tennki" i = str.find("ii") このfindメソッドで、こんなメソッドは使えませんと エラーがでてきます。 pythonは2.5です。 普通のpythonなら可能だとは思うのですが、 google app engine では string.findは使えないのでしょうか?? そのほかにも文字列操作のモジュールはあると思いますが、 google app engine で使用できるものがあれば教えていただきたいです。

  • ArrayIndexOutOfBoundsExceptionの対処法

    jspで下記のようにStringの文字列をsplitによって Stringの配列に格納しています。 文字列strは"文字,文字" か "文字," か ",文字" という感じで格納されています。 String str; String[] str.split(","); そしてjspでString[0]とString[1]を必ず表示するようになってます。 そうすると文字列"文字,"の場合はString[1]は存在しないため 例外がでて怒られてしまいます。 文字列は入力値のため、どの文字列のパターンが来るか分からない ためどうすればいいのか分からず困っています。 いい方法があればあれば教えていただければと思います。

    • ベストアンサー
    • Java
  • String型の変数を使った問題

    すごく簡単なプログラムのはずで、初歩的な質問で申し訳ありませんが、教えていただければと思います。 問題: 以下の場合の処理を行うプログラムを作成せよ。 (1)String型の変数を作成し、苗字を格納する。(値は直接書き込む) (2)String型の変数を作成し、名前を格納する。(値は直接書き込む) (3)(1)で作成した苗字を持つ変数と、(2)で作成した名前を持つ変数を結合して出力。 (4)「苗字は'((1)で作成した変数の値)'です。名前は'((2)で作成した変数の値)'です。」と出力。 出力結果: C:\>java Name いわたてつお 苗字は'いわた'です。名前は'てつお'です。 C:\> 上記のプログラムを作成しようとしたのですが・・・ import java.io.*; class Name { public static void main(String[] args)throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); String str1 = br.readLine(); String name1 = str1; String str2 = br.readLine(); String name2 = str2; System.out.println(name1 + name2); System.out.println("苗字は\'" + name1 + "\'です。名前は\'" + name2 + "\'です。"); } } ↑これではいくら変数を2つ作成しても、書き込んだ文字が全て 苗字の変数に格納されてしまってちゃんと出力出来ないという事は 分かるのですが、どうやったらちゃんと苗字と名前に分かれて 出力されるのか分からないので、教えてください。 なんとなく文法的にも間違っている気が・・・ ホント初歩的な質問ですみません!

    • ベストアンサー
    • Java
  • sqlite_escape_stringのアンエスケープ方法

    sqliteのエスケープ方法としてPHPマニュアルでは sqlite_escape_string() を利用することが望ましいと 記述されています。 実際にsqlite_escape_string() を使用してDBに格納するのは 問題ないのですが、データを取り出したときに エスケープされたままで出てきます。 アンエスケープする方法はどのようなものでしょうか? str_replace("'","''",取り出した文字列); とかではないですよね・・・。

    • ベストアンサー
    • PHP
  • Stringの連結

    VB.netでのWindowsアプリケーション開発をしています。 String文字列の連結においてOutofMemory.Exceptionのエラーがスローされます。 手法としてはSingleの数値をカンマで区切り、1000個のカンマ区切り文字列を作成します。 その文字列は「temp_Str as String」の変数に格納していくのですが、 大型のループ処理で10万件以上作成されたところで上記のエラーが発生します。 (時間にして2~3時間程度経過した時点) 少なくとも数100万件の処理を行いたいのですが、 うまくメモリー管理をする方法はないでしょうか? 今現在GC.CollectやRemove等の処理は入れているのですが、あまり効果がありません。 よろしくお願いいたします。

  • PythonのUnicode文字について 

    PythonのUnicode文字について  最近pythonを始めました。このサイト(http://www.pythonweb.jp/index.html)でいろいろと勉強しているのですがUnicode文字についてよくわかりません。 #coding: UTF-8 print u"こんにちは" と入力するとなぜか File "test.py", line 2 print u"こんにちは" SyntaxError: (unicode error) 'utf8' codec can't decode byte 0x82 in position 0: unexpected code byteと表示され出力されませんでした。何故でしょうか。unicode文字についても説明をお願いします。

  • stringについて

    確認したいのですが、ある関数の引数はconst string& strでやる場合 文字列リテラルは、ヒープが確保してそれをポインタであるstringに渡される。だからコピーされる手間が減るとういことでよろしいのでしょうか? 環境はvisual C++ 2005です。

  • Pythonでのプログラミングについて。

    Pythonでのプログラミングについて。 大学の授業でPythonが出たのですが、なんせ先生が適当すぎてさっぱり意味がわかりません・・; 以下の問題の答えか、もしくは解説してくれる方はいらっしゃいませんでしょうか。 Q1:オレンジの数(count)を受け取って、"Number of oranges:<count>"を返すorange関数(a)を書け。 ただし、countが10以上の場合は実際の値のかわりに"many"を使え。 def orange(count): (a) return str print orange(4) print orange(99) Q2:文字列を受け取って、最初と最後の各2文字から作成した文字列を返すboth_ends関数(b)を書け。 ただし、文字列の長さが1のときは空文字列を返せ。 def both_ends(coun): (b) return str print both_end("hello") print both_end("a") Q3:文字列を反転するプログラム(c)を書け。 orig="hello" (c) print result Q4:文字列を反転するreverse関数(d)を書け。 (d) orig="good" result=reverse(orig) print result Q5:キーボードから受け取った文字列が回文(palindrome)かどうか判定するプログラム(e)を書け。 (d) orig=raw_input("Type a phrease:") result=reverse(orig) (e) Type a phrease:alice reverse=ecila Type a phrease:anna **palindrome** 自分で本を読んだり色々調べてみたのですが、判りませんでした。。 今日の12時までなのですが、誰かお願いします(;_;)