0

入力ファイルの内容を読み取り、出力ファイルに行ごと (行ごと) 形式で表示する必要がある python スクリプトを実行しようとしています。

                     Script is as below:
                  ==============================

                #!/usr/bin/python
                 # Usage : python loop_test1.py /home/cdn/test1.in /home/cdn/test11.out
                   from user_agents import parse
                    import sys,getopt
                         import csv
                 myopts, args = getopt.getopt(sys.argv[1:],"i:o:")
                   # open file

                    f = open (sys.argv[1],"r")
                     #sys.stdout = open(sys.argv[2], "w")
                     #sys.stdout=open(sys.argv[2],"w")
                          results= (user_agent.browser,user_agent.browser.family,user_agent.browser.version,user_agent.browser.version_string)
                     c = csv.writer(open(sys.argv[2],"wb"), delimiter="|")
                       c.writerows(results)
                      #f1.write("|".join(fields))
                     #Read whole file into data
                     data = f.readline()


                       # Print it 
                        #line = 0
                       for line in iter(f):
                      # print line
                       #line + = 1  

                    user_agent = parse(line)
                  print user_agent.browser  # returns Browser(family=u'Mobile  Safari',    version=(5, 1), version_string='5.1')
                print user_agent.browser.family,"|"  # returns 'Mobile Safari'
                print user_agent.browser.version # returns (5, 1)
               print user_agent.browser.version_string   # returns '5.1'
                    # Accessing user agent's operating system properties
             print user_agent.os  # returns OperatingSystem(family=u'iOS', version=(5,   1), version_string='5.1')
              print user_agent.os.family  # returns 'iOS'
              print user_agent.os.version  # returns (5, 1)
              print user_agent.os.version_string  # returns '5.1'

            # Accessing user agent's device properties
             print user_agent.device  # returns Device(family='iPhone')
             print user_agent.device.family  # returns 'iPhone'
                print user_agent.is_mobile # returns True
                print user_agent.is_tablet # returns False
               print user_agent.is_touch_capable # returns False
               print user_agent.is_pc # returns False
               print user_agent.is_bot # returns False

              # Close the file
                f.close()

このエラーが発生します:

トレースバック (最後の最後の呼び出し): ファイル "loop_test1.py"、11 行目、結果 =(user_agent.browser,user_agent.browser.family,user_agent.browser.version,user_agent.browser.version_string) NameError: name 'user_agent'定義されていません

これで私を助けてくれませんか?

4

1 に答える 1

0

user_agents (「s」を使用) からインポートしているように見えますが、後で user_agent を使用します。

パースをインポートし、残りは何もインポートしないのは少し奇妙に思えます。user_agents.parse() を使用して 1 つのスタイルにすることもできます。

また、スクリプトのインデントが投稿したものと異なることを願っています:)

于 2013-05-24T09:25:25.840 に答える