逐行运行Python脚本并在列之间留出空格后输出到文件
我正在尝试运行一个python脚本,该脚本读取输入文件的内容,并需要在输出文件中以逐行(逐行)格式显示逐行运行Python脚本并在列之间留出空格后输出到文件,python,output,Python,Output,我正在尝试运行一个python脚本,该脚本读取输入文件的内容,并需要在输出文件中以逐行(逐行)格式显示 Script is as below: ============================== #!/usr/bin/python # Usage : python loop_test1.py /home/cdn/test1.in /home/
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\u agent.browser,user\u agent.browser.family,user\u agent.browser.version,user\u agent.browser.version\u string)
NameError:未定义名称“用户\代理”
你们能帮我解决这个问题吗?你们似乎是从用户代理(带“s”)导入的,但后来你们使用了用户代理 导入parse和其他任何一项看起来都不奇怪。最好使用user_agents.parse()使其具有一种样式
另外,我希望您的脚本中的缩进与您发布的缩进不同:)更改了它。现在我得到了错误:[cdn@verticacdn1~]$python loop\u test1.py/home/cdn/test1.in/home/cdn/test11.out回溯(最后一次调用):文件“loop\u test1.py”,第3行,从用户\代理导入解析导入错误:没有名为用户\代理的模块什么是用户\代理?档案?您安装的库?实际上,我正在考虑更改对用户代理的调用,而不是更改导入,因为导入似乎是正确的。例如,将user_agent.browser更改为user_agent.browser