• 締切済み
  • 困ってます

【Python】

【Python】 read, readline, split いずれも使用すると、str object has no attribute,,, とエラーがでます。使用可能にするにはどうしたらよいですか?

共感・応援の気持ちを伝えよう!

  • 回答数1
  • 閲覧数69
  • ありがとう数1

みんなの回答

  • 回答No.1
  • wormhole
  • ベストアンサー率28% (1464/5134)

どのようなコードを書かれているのかわかりませんので、 いえるのは「適切なオブジェクトに対して使用してください。」としか。 read,readlineはファイルをオープンしてから使用してください。 https://docs.python.org/ja/3/tutorial/inputoutput.html splitに関しては質問に書かれているメッセージではないと思うのですが。 https://docs.python.org/ja/3/library/stdtypes.html

共感・感謝の気持ちを伝えよう!

関連するQ&A

  • Pythonでのimport

    Pythonで、 from enthought.traits.api import HasTraits をしようとすると、 No module named enthought.traits.api とエラーがでるのですが、どうしたらいいのでしょうか。 詳細: 知人の.pyファイルをもらって起動させようとすると、どうやら上の行で躓いてしまいます。 Pythonは2.6でwindows 7を使用しています。 説明が少なくてすみません。

  • pythonでsplitの使い方

    rubyで次のようなコードを実行すると期待通りの結果が得られるのですが、pythonでは上手くいきません。pythonとrubyでは正規表現の使用の仕方に相違があるのでしょうか? str = "あかさたな&12345|abcde&67890|#$()=" cat = str.split(/&|\|&|/) print cat rubyでは ["あかさたな", "12345", "abcde", "67890", "#$()="] となりますが、 pythonでは / の所でinvalid syntax と叱られます。

  • 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 で使用できるものがあれば教えていただきたいです。

  • Pythonで属性とは?

    プログラミング初心者です、よろしくおねがいします 自分でも調べたのですが初心者すぎて用語が難しく解らないところが多くはっきりしないので教えてください。 Pythonでいうオブジェクト、メソッド、属性の違いはなんですか? 私の今の所の知識では オブジェクト=クラスやメソッドやクラス変数 メソッド=クラスの中に有る関数 属性=クラスの中にある関数や変数など じゃ、オブジェクトと属性の違いってなんなの?ということに 以下の例題でA objects are given a color attribute of "white"とあります attribute=属性ですよね? つまり属性とはインスタンス変数の中身のことなの? class A(object): ....def __init__(self): ........self.color = "white" word = A() print(word.color) 有識者の方々にはくだらなすぎる疑問かも知れませんがよろしくおねがいします

  • pythonのスクリプトが動きません

    Webで"大きなPDFファイルを自動分割するPythonスクリプト" #!/usr/bin/env python # -*- coding: utf-8 -*- import os import glob import math import subprocess import re #==-User Parameter==== MAX_PDF_SIZE_MB=80 class PdfSplit: def __init__(self, fileName, resultpath): print("Split file name is "+fileName) #FileSizeCheck fsizeMB=float(os.path.getsize(fileName))/1000000 print("file size is "+str(fsizeMB)+" MB") if fsizeMB<=MAX_PDF_SIZE_MB: print("Not need split") return; nSplit=int(math.ceil(fsizeMB/MAX_PDF_SIZE_MB)) print("nSplit:"+str(nSplit)) nPage=self.GetPdfPageNumber(fileName) # nPage=888 print("nPage:"+str(nPage)) if nPage==0: print("Error: cannot read page:"+fileName) return onePage=int(math.ceil(nPage/nSplit)) print("onePage:"+str(onePage)) #result path finalpath=resultpath+"/"+fileName[2:-4] print("finalpath:"+finalpath) #Page split startpage=1 for i in range(nSplit): endpage=(i+1)*onePage if i==nSplit-1: endpage=nPage print "start page:"+str(startpage)+",endpage:"+str(endpage) cmd="pdftk "+fileName+" cat "+str(startpage)+"-"+str(endpage)+" output "+finalpath+"_"+str(i+1)+".pdf" # pdftk 元ファイル名.pdf cat 開始ページ-終了ページ output 出力ファイル名.pdf p = subprocess.Popen(cmd, shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE) p.wait() stdout_data, stderr_data = p.communicate() print stderr_data startpage=endpage+1 def GetPdfPageNumber(self,fileName): cmd="pdftk "+fileName+" data_dump" print cmd p = subprocess.Popen(cmd, shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE) # p.wait() stdout_data, stderr_data = p.communicate() extracted=0 count=0 for strline in stdout_data.split("\n"): # print strline #sample NumberOfPages: 344 if "NumberOfPages" in strline: number = re.search("\d+",strline) extracted = number.group() break count+=1 if count>=100: break return int(extracted) class SplitManager(): def __init__(self): print "init" def Main(self): #Create Result dir RESULT_DIR='results' if not os.path.isdir(RESULT_DIR): os.mkdir(RESULT_DIR) files = glob.glob('./*.pdf') for file in files: PdfSplit(file,RESULT_DIR) if __name__ == '__main__': print __file__+" start!!" manager=SplitManager() manager.Main() が公開されていたので使用しようと思ったのですがうまく動作しません。 このスクリプトを使用するためにPython3.7.0b3とPDFtkをインストールしました。 そして、公開されていたシクリプトをtextにコピーしてpdf.pyという名前で保存しました。 最後にpdfファイルを収納したフォルダにpdf.pyを入れて、pdf.pyを実行しました。 しかしコマンドプロンプトが一瞬表示されるだけで動作しませんでした。 何か間違っているから動かないのだと思うのですが分からないので教えてください。 Pythonスクリプトの実行手順はこれで合ってますか。 それともPythonのスクリプトとバージョンが合ってないのでしょうか。 PCはWindows7です。 回答よろしくお願いします。

  • pythonのエラーについて教えてください。

    pythonの勉強しています。練習として以下の様なコードを書きました。 #!/usr/bin/python # coding=utf-8 f = open('aw1.txt' 'r') for row in f: line_data = row.split(' ') print(line_data(1)) f.close() aw1.txtというファイルは自分でviで作成しました。 このpythonスクリプトを実行すると IOError: [Errno 2] No such file or directory: 'aw1.txtr' というエラーになってしまいます。 でも f = open('aw1.txt' 'r') と書いて なぜ 'aw1.txtr'というファイルがないというエラーとなるのかがわかりません。 どこが間違っているのでしょうか? どなたか教えていただけないでしょうか?

  • Pythonのプログラム言語の一覧表がほしい

    これから Python を使い始める段取りです. 以下の項目(1),(2),(3),(4),(5),(6),(7),(8) について,教えて下さい. ●(1). Python のプログラム言語の一覧表の入手方法. ●(2). Python の文法:どういう言語がどういう役割を持つか,の一覧表の入手方法. ●(3). Python のプログラム記述上の基本・規則などがまとめて書いてあるものの入手方法. ●(4). Python のプログラム実行時にエラーが発生したときの対応法の一覧表の入手方法.    (TeX 使用時のエラー対応法(一覧表)のようなもの;TeX_error_message/LaTeX_error_message) ●(5).その他,Python に関して基本的な事柄など,知っておく必要がある事に関して・・・. ●(6).下記(a),(b),(c)の Python 入門書を少し読んでみたが,Python 画面での左端にある記号 >>> の説明が何処にもない.    そこで「Python は,>>> 以下の言語を読み取って処理する」と解釈しました.正しいですか? ●(7).下記(a),(b),(c)の Python 入門書を読んでいて気づきましたが,記号 #(シャープ)より右側の文章は Python は無視して読み込まない,と解釈しました.正しいですか? ●(8). Python を使用するための「画面」には,どの様なものが,何種類あるのですか? 現在,一応,Python 3.6.5 のインストールが終わり,Python を起動すると,コマンドプロンプトのような素っ気なく,味気ない真っ黒な画面が現れます. 1+2=3 は,手書き入力で,答えの 3 が出ます. また,Hello, World! も試し終わりました. なお,現在,以下の三冊の本を読んで勉強中です. ◆(a).「独学プログラマー」 ◆(b).「Python スタートブック」 ◆(c).「Python チュートリアル・第三版」 以上,よろしくお願いします.

  • [python] で packの方法を教えてください

    pythonで、バイナリファイルを扱おうと思います。 固定長の変数に、文字列と整数を代入する予定です。 環境は、Linuxのコマンドラインで使用します。 ---------------------------------- C言語で書くと、次のように成ります。 char[32] str; int [8] a; str = "test hoge"; a = 123; sprintf ("%32s%08d", str, a); //バイナリデータとして扱う ---------------------------------- 上記のように、文字列や数値をバイナリデータにしたいと思います。 最終的には、バイナリデータ・ファイルを生成します。 この場合、packを使えば出来そうですが、例題がなかなか見つからず困っています。 何か良い方法を知りませんか。 よろしくお願いします。 m(_ _)m

  • Pythonのバージョンアップについて

    CentOS5.5にはPython2.4がデフォルトで入っているのですが、Python2.6でスクリプトを作成する必要がありバージョンアップをしているのですが、dbusモジュールのインポートができず行き詰っております。 具体的には、Python2.4とdbus-pythonがインストールされている状態で、下記のURLを参考にyumでPython2.6をインストールしました。 環境としては「/usr/bin/phthon2.4」と「/usr/bin/phthon2.6」が出来た状態です。 libは「「/usr/lib/phthon2.4」と「/usr/lib/phthon2.6」です。 dbus-pythonのインストール先は「/usr/lib64/python2.4/site-packages/dbus」になります。 Python2.4を環境で下記のインポートは問題ありません。 >>>import dbus しかし、Python2.6環境で同じコマンドを実行すると下記のようなエラーになります。 >>> import dbus Traceback (most recent call last): File "<stdin>", line 1, in <module> ImportError: No module named dbus dbusの再インストールはリスクが高いと思い、モジュールのパスを通してみたところ下記のようなエラーになりました。 >>> import sys >>> sys.path.append('/usr/lib64/python2.4/site-packages') >>> import dbus Traceback (most recent call last): File "<stdin>", line 1, in <module> File "/usr/lib64/python2.4/site-packages/dbus/__init__.py", line 1, in <module> from _dbus import * File "/usr/lib64/python2.4/site-packages/dbus/_dbus.py", line 45, in <module> import dbus_bindings ImportError: /usr/lib64/python2.4/site-packages/dbus/dbus_bindings.so: undefined symbol: Py_InitModule4 rpmでモジュールインストール先の変更や、Python自体をソースからインストールなどしてみたのですが、全てうまく行かない状態です。 Pythonバージョンアップ前にインストールされているモジュールの使い方をご存知の方がおられましたら、宜しくお願いします。

  • Ubuntu 8.04 のインストールについて。。(LiveCD使用)

    ThinkPadにLiveCDを使ってubuntu8.04をインストールしようと思っているのですが、うまくいきません。 デスクトップ上のインストール・ファイルをクリックしても反応がないので、コマンドラインから $ ubiquity --desktop %k gtk_ui  と入力してみました。 すると File "/usr/bin/ubiquity", line 7, in <module> import os File "/usr/lib/python2.5/os.py", line 468, in <module> class _Environ(UserDict.IterableuserDict); AttributeError: 'module' object has no attribute 'iterableUserDict' と表示されます。 pythonは触れたこともないのでソースコード見てもまったくわかりません。 説明不足なところがあれば答えていきますので、 どうかよろしくお願いします!