Python 如何将此脚本的结果放入文件中
我有下面的脚本Python 如何将此脚本的结果放入文件中,python,python-2.7,Python,Python 2.7,我有下面的脚本 #!/Users/admin/anaconda/bin/python import geocoder import unicodecsv import logging import csv import time logging.basicConfig(level=logging.INFO) logger = logging.getLogger(__name__) pcode=[] with open('locs2.csv', 'rb') as f: reader
#!/Users/admin/anaconda/bin/python
import geocoder
import unicodecsv
import logging
import csv
import time
logging.basicConfig(level=logging.INFO)
logger = logging.getLogger(__name__)
pcode=[]
with open('locs2.csv', 'rb') as f:
reader = csv.DictReader(f)
for line in reader:
lat = float(line['lat'])
lon = float(line['lon'])
g = geocoder.google([lat,lon], method='reverse')
attempts = 1 # number of lookups
while not(g.ok) and attempts < 4:
logging.warning('Geocoding ERROR: {}'.format(g.debug()))
time.sleep(2) # 2 seconds are specified in the API. If you stillget errors, it's because you've reached the daily quota.
g = geocoder.google([lat,lon], method='reverse')
attempts += 1
if attempts > 3:
logging.warning('Daily quota of google lookups exceeded.')
break
pcode.append((lat, lon, g.postal))
logging.info('Geocoding SUCCESS: ({},{},{})'.format(lat,lon,pcode))
更改日志记录配置以将日志发送到文件:
LOG_FILENAME = 'Output.txt'
logging.basicConfig(filename=LOG_FILENAME,level=logging.INFO)
如果您使用./script.py>Output.txt重定向它会怎么样?嗨,Rafael,它不工作。这就是原因。我删除了之前的评论,因为OP程序使用
日志记录
模块作为其输出,在我看来事情比我们都预期的要复杂一些。。。这里是一个。@gboffit's ok,我换了帖子。Rafael,还有一个问题与我原来的帖子不完全相关,但也不完全无关。如何记录我的错误?例如,我有这样的错误(见下一条评论)##提供者的属性*traceId:f09ac9fad59144aebca6031bc12b4bc7 | DB40231539 | 02.00.106.3100 | DB4SCH010061321*版权所有©2014 Microsoft及其供应商。版权所有。未经微软公司明确书面许可,不得访问本API,不得以任何方式使用、复制或传播本API的内容和任何结果。[…]
如何记录它们?非常感谢。我设法知道了如何做到这一点:将脚本放在一个文件中,chmod
results.log
LOG_FILENAME = 'Output.txt'
logging.basicConfig(filename=LOG_FILENAME,level=logging.INFO)