• 締切済み

【Python】

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

  • Python
  • 回答数1
  • ありがとう数1

みんなの回答

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

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

関連するQ&A

  • pythonでsplitの使い方

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

  • 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でのimport

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

  • 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のスクリプトが動きません

    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でいうオブジェクト、メソッド、属性の違いはなんですか? 私の今の所の知識では オブジェクト=クラスやメソッドやクラス変数 メソッド=クラスの中に有る関数 属性=クラスの中にある関数や変数など じゃ、オブジェクトと属性の違いってなんなの?ということに 以下の例題で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 10を100で割ってでた極小値

    pythonの練習問題をやっていた、予期せぬ出力が出ました。 下記ケース1は、入力で 販売価格1,000円 消費税8% 消費税10% を 1000 8 10 のように入力し、期待される結果が出ています (値は通貨ですがわざとintをつけていません) ところがケース2のように販売価格を100円にしてみたところ、総額が 110.00000000000001 となり、最後に1が出た理由を知りたいと思っています。 n3 / 100 は0.1になると思いこんでいましたが、実際の計算上はそうではないようです。 ケース1 --------------------------- #入力 1000 8 10 n = input() sep = n.split(" ") n1 = int(sep[0]) n2 = int(sep[1]) n3 = int(sep[2]) hachi = n1 * (1 + n2 / 100) jyu = n1 * (1 + n3 / 100) print(str(hachi)) print(str(jyu)) # 出力 #1080.0 #1100.0 ケース2 ---------------------------- #入力 100 8 10 n = input() sep = n.split(" ") n1 = int(sep[0]) n2 = int(sep[1]) n3 = int(sep[2]) hachi = n1 * (1 + n2 / 100) jyu = n1 * (1 + n3 / 100) print(str(hachi)) print(str(jyu)) # 出力 # 108.0 # 110.00000000000001

  • Python エクセル読み込み xlrdについて

    標記の件につきましてお尋ねさせてください。 xlrdモジュールをインストールしました。 ’C¥Python27¥xlrd-0.9.3’とフォルダが作成されました。 このディレクトリからPythonのinteractive shellを起動し、’import xlrd’とすると、起動できてるようですが、’C¥Python27’からinteractive shellを起動し’import xlrd’をするとエラーになります。 (Import Error:No module named xlrd) なぜでしょう・・・ エクセルを読ませたいときは常にxlrd-0.9.3からはじめないといけないのでしょうか? ご回答お願いいたします。

  • Mac で python

    Mac 10.5でpythonを始めようとして、macportをアップデートして、pythonをインストールしようとしたら以下の表記がでました。 $ sudo port install python27 Error: Unable to execute port: symlink: /opt/local/var/macports/sources/rsync.macports.org/release/tarballs/ports/lang/python27/work -> /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_lang_python27/python27/work: no such file or directory rubyもインストールできなかったし、osが古過ぎるのでしょうか・・・買い替えるお金がないのですが。。。。

  • 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は触れたこともないのでソースコード見てもまったくわかりません。 説明不足なところがあれば答えていきますので、 どうかよろしくお願いします!

専門家に質問してみよう