我有一个命令,让我的项目的所有网址。我想把这个命令导出到xlsx文件。有什么想法吗?打印消息时应使用url命令
提前谢谢你们。你知道吗
网址.py(此处是给出所有URL的命令)
from django.conf.urls import RegexURLPattern, RegexURLResolver
from django.core import urlresolvers
from django.core.management import BaseCommand
class Command(BaseCommand):
def add_arguments(self, parser):
pass
def handle(self, *args, **kwargs):
urls = urlresolvers.get_resolver()
all_urls = list()
def func_for_sorting(i):
if i.name is None:
i.name = ''
return i.name
def show_urls(urls):
for url in urls.url_patterns:
if isinstance(url, RegexURLResolver):
show_urls(url)
elif isinstance(url, RegexURLPattern):
all_urls.append(url)
show_urls(urls)
all_urls.sort(key=func_for_sorting, reverse=False)
print('Total urls:', len(all_urls))
print('-' * 220)
for url in all_urls:
print('| {0.regex.pattern:100} | {0.name:50} | {0.lookup_str:70} |'.format(url))
print('-' * 220)
导出_测试.py(导出命令)
import xlsxwriter
# Create a workbook and add a worksheet
workbook = xlsxwriter.Workbook('Test2.xlsx')
worksheet = workbook.add_worksheet()
# Add a bold format
bold = workbook.add_format({'bold': True})
# Write header
worksheet.write('A1', 'URL', bold)
worksheet.write('B1', 'Class', bold)
expanses = (
['TestUrl.com', 'TestClass'],
['TestUrl2.com', 'ExcelClass'],
['TestUrl3.com', 'OrderClass'],
['TestUrl4.com', 'TransferClass'],
)
row = 1
col = 0
for item, cost in (expanses):
worksheet.write(row, col, item)
worksheet.write(row, col + 1, cost)
row += 1
workbook.close()
我想应该是打印出来的
我可能误解了您的意思,但是如果您想从命令导出到xlsx文件,那么只需替换打印url的行即可将其导出到xlsx文件。你知道吗
(您还需要添加导出的代码位_测试.py到网址.py在适当的位置归档,例如打开和关闭工作簿、添加工作表、导入xlsxwriter。)
相关问题 更多 >
编程相关推荐