设置固定链接去除category前缀

本文介绍如何在WordPress中去除分类目录前缀'category',通过简单的设置改进网站URL结构,适用于新博客。对于已有大量外部链接的老博客,文章提供了权衡方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、我们浏览网站时会发现,点击菜单进去的是二级目录。

2、很遗憾在WordPress中只要有分类目录出现就默认会加个前缀category。即如果固定链接设置为/%category%/%postname%/,那当你点击菜单“新闻”时,url是www.futeng.org/category/news,要是没有category该有多好!

3、去除category,如果是老博客主请先看第4点。

设置->固定链接->可选->分类目录前缀,填如英文书写下半角“,”号,保存即可。

4、去除很简单,但如果你非新建博客,又已经有大量外链对搜索权重比较看重的话,就不要不能这样做。直接失去这么多,这篇文章承受不起。所以请看如下链接:

5、二级分类目录名不能为wordpress,即不能出现像www.futeng.org/wordpress这样的访问,想想后台怎么访问控制面板的,你就明白为什么了,类似的大家都懂了。

转载来自:[url]http://www.futeng.org/tips/delete-the-category/[/url]
<think>嗯,用户想要用Python调用Excel来制作一个个人工作、生活、学习的管理系统,需要三个工作表,每个工作表能自动管理并创建文件夹,包含名称、建立时间、类别、快捷方式,还要自动编号和自动连接等功能。首先,我得理清楚用户的需求到底是什么。 用户提到的“自动管理和自动创建相应文件夹”可能是指在Excel中操作时,能够自动在文件系统中生成对应的文件夹。比如,当在工作表中添加一个项目时,程序会自动创建对应的文件夹,并记录路径等信息到Excel中。这可能涉及到Python的os模块来操作文件和目录,以及openpyxl或pandas库来处理Excel文件。 接下来,用户需要每个工作表有名称、建立时间、类别、快捷方式,自动编号。自动编号应该可以通过Excel的公式或者Python脚本来实现,比如在A列使用递增的数字。建立时间可能需要使用Python的datetime模块来获取当前时间,并写入Excel单元格。类别可能需要预设一些选项,比如工作表中的项目类别可以分为会议、项目、任务等,生活可能是健康、家庭、休闲等,学习可能是课程、阅读、练习等。快捷方式可能是指文件夹的路径,或者是一个超链接,点击可以直接打开文件夹,这里可能需要用到Excel的超链接功能。 然后,自动连接功能可能指的是在Excel中点击某个单元格就能打开对应的文件夹或文件,这需要设置链接。Python的openpyxl库可以处理超链接,但需要注意不同操作系统下路径的写法可能不同,比如Windows用反斜杠,而macOS或Linux用正斜杠,可能需要统一处理。 用户还提到详细的步骤,越细越好。所以需要分步骤说明,包括安装库、准备Excel模板、编写Python脚本、实现自动创建文件夹、填充数据、设置链接等。可能还需要考虑异常处理,比如文件夹已存在时的处理,或者Excel文件被占用的情况。 另外,用户可能需要一个自动化的流程,比如每次运行脚本时检查Excel中的条目,并创建相应的文件夹,或者当Excel中添加新条目时自动触发脚本。但后者可能需要结合Excel的宏或事件监听,这可能比较复杂,所以可能建议用户手动运行Python脚本,或者设置定时任务。 需要考虑使用哪个库来处理Excel。openpyxl适合.xlsx格式,支持读写,而pandas也可以处理Excel,但可能需要结合openpyxl或xlrd。这里选择openpyxl可能更直接,因为它可以处理格式和超链接。 接下来,步骤大概是: 1. 安装必要的Python库:openpyxl和datetime,os是内置的,可能不需要安装。 2. 创建Excel文件,并添加三个工作表:工作、生活、学习。 3. 在每个工作表中创建表头:编号、名称、建立时间、类别、文件夹路径、快捷方式。 4. 编写Python脚本,读取用户输入的项目信息,然后根据类别添加到对应的工作表,同时自动创建文件夹,记录路径,生成超链接。 可能需要一个循环,让用户输入项目的信息,然后处理。或者从Excel中读取已有的条目,检查对应的文件夹是否存在,不存在则创建。但用户可能需要的是在Excel中添加条目后,运行脚本来创建文件夹,所以可能需要先填充Excel,然后运行脚本处理。或者反过来,在Python中让用户输入信息,然后同时写入Excel并创建文件夹。 可能用户更希望的是在Excel中手动添加条目,然后运行脚本来自动创建文件夹和生成超链接。所以步骤应该是: - 用户打开Excel,在工作、生活、学习表中添加新行,填写名称和类别,然后运行Python脚本,脚本读取各工作表中的数据,检查是否已创建文件夹,如果没有,则创建,并填充建立时间、文件夹路径,设置链接。 或者,让用户在Python脚本中输入信息,脚本同时写入Excel并创建文件夹。这样更自动化,但可能不够灵活。需要根据用户习惯来决定。 这里可能需要两种方式:一种是完全通过Python脚本来添加条目,另一种是让用户在Excel中添加条目,然后通过脚本处理后续的文件夹创建和超链接设置。考虑到用户可能希望灵活地在Excel中编辑,第二种方式可能更合适。但需要处理Excel中的数据读取和更新。 具体步骤可能包括: 1. 安装openpyxl:pip install openpyxl 2. 创建Excel文件,初始化工作表。 3. 编写Python脚本,打开Excel文件,遍历每个工作表,检查每一行的“文件夹路径”是否为空,如果为空,则根据名称创建文件夹,生成路径,写入Excel,并设置链接。 4. 自动编号可以通过脚本在读取时自动生成,比如A列从1开始递增。 需要处理的情况有:如果用户已经手动输入了一些行,脚本需要检查这些行是否处理过,避免重复创建文件夹。可能需要一个标记,比如“处理状态”,但用户的需求中没有提到,所以可能需要根据“文件夹路径”列是否为空来判断是否已处理。 例如,脚本会遍历每个工作表中的每一行,跳过标题行,对于每一行,如果“文件夹路径”为空,则创建文件夹,填充建立时间、路径,并设置链接。 自动编号可以在脚本中自动生成,比如每行的A列自动填入行号减一(假设标题在第一行)。 这样,用户只需要在Excel中添加名称和类别,然后运行脚本,脚本会自动填充编号、建立时间、路径、快捷方式。 接下来,具体代码结构: - 导入必要的库:openpyxl, os, datetime - 加载Excel文件,获取三个工作表 - 对于每个工作表,遍历行,跳过标题行 - 对于每一行,检查是否有名称,如果名称存在且路径为空,则创建文件夹,生成路径,记录时间,写入Excel,并设置链接。 需要注意文件夹的命名规则,可能需要将名称中的空格替换为下划线,或去除特殊字符,避免文件系统不支持。 例如,文件夹名称可以是“工作_项目名称_编号”,路径保存在“文件夹路径”列,超链接指向该路径。 此外,可能需要为每个类别创建子文件夹,比如工作下的不同类别有各自的文件夹,但用户需求中可能只是每个项目一个文件夹,不管类别。 或者,类别作为文件夹的父目录,比如工作/会议/项目名称,但用户没有明确说明,可能需要简化,直接在工作表对应的基础路径下创建项目文件夹。 例如,所有工作相关的文件夹放在“工作管理/工作”目录下,生活类在“工作管理/生活”等。 因此,脚本中需要为每个工作表设置一个基础路径,比如基础路径是当前目录下的“PersonalManagementSystem”,然后每个工作表(工作、生活、学习)有自己的子目录,或者直接在基础路径下为每个项目创建文件夹,名称包含工作表名称和项目名称。 或者,基础路径由用户自定义,或者固定,比如在脚本中定义。 这可能需要用户配置,或者在代码中写死。为了简化,可能在代码中设定基础路径,比如当前目录下的“管理系统文件夹”,然后每个工作表对应的文件夹放在其中,如“管理系统文件夹/工作/项目名称”。 但用户的需求是每个工作表中的条目自动创建文件夹,可能不需要分层,只是每个条目一个文件夹,放在统一的目录下,或者根据工作表分类。例如,工作条目放在“工作”文件夹下,生活条目放在“生活”文件夹下,学习放在“学习”文件夹下。这样结构更清晰。 因此,在代码中,可以先创建基础文件夹,比如“工作管理”,然后里面有三个子文件夹:工作、生活、学习。每个工作表的条目文件夹放在对应的子文件夹下。 或者,根据工作表的名称,自动创建对应的子目录。例如,当处理“工作”工作表时,项目文件夹创建在“工作管理/工作”目录下。 这样,在代码中,可能需要: base_path = os.path.join(os.getcwd(), "PersonalManagementSystem") for sheet in sheets: sheet_name = sheet.title sheet_folder = os.path.join(base_path, sheet_name) os.makedirs(sheet_folder, exist_ok=True) 然后,每个项目的文件夹路径是 sheet_folder + "/" + 项目名称_编号 或者项目名称加上编号,避免重复。 但用户可能需要每个项目有唯一的文件夹,所以可能需要使用编号和名称的组合,例如“01_项目名称”。 自动编号可能在Excel中是递增的,所以文件夹名称可以包含编号,例如在工作表中,编号为1,名称为“项目A”,则文件夹名称为“01_项目A”。 这样,路径就可以是基础路径/工作表名称/编号_名称。 这样处理可以保证文件夹名称唯一,且易于管理。 接下来,在代码中,处理每一行时,需要生成编号,比如A列的值,如果是新行,可能为空,所以需要自动生成,例如当前行号减1(假设标题在第一行)。 例如,在“工作”工作表中,第一行是标题,第二行开始是数据行,编号从1开始,所以A2=1,A3=2,依此类推。 在Python中,遍历行时,可以获取行号,然后计算编号。 然后,文件夹名称可以构造为“编号_名称”,并创建该文件夹。 建立时间可以使用datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S"),写入到建立时间列。 文件夹路径即为上述的路径,例如os.path.join(sheet_folder, folder_name) 快捷方式列需要设置为超链接,指向该文件夹路径。在openpyxl中,可以使用Hyperlink类,或者直接设置单元格的hyperlink属性,例如: cell.hyperlink = os.path.abspath(folder_path) cell.value = "打开文件夹" 但需要确保路径是绝对路径,并且使用正确的格式。在Windows中,超链接可能需要file:///前缀,而其他系统可能不同。例如: hyperlink = f"file:///{os.path.abspath(folder_path)}" cell.hyperlink = hyperlink cell.value = "点击打开" 同时,设置单元格的样式为超链接样式,比如蓝色下划线,这可能需要使用openpyxl的样式设置,但可能会比较复杂。用户可能只需要能点击即可,即使没有样式。 综上,代码的大致流程: 1. 定义基础路径,创建基础文件夹和各工作表对应的子文件夹。 2. 加载Excel文件,遍历每个工作表。 3. 对于每个工作表,遍历数据行(从第二行开始)。 4. 对于每一行,检查名称是否存在,且文件夹路径是否为空。 5. 如果名称存在且路径为空,则生成编号(行号-1),创建文件夹,记录路径,写入建立时间,设置链接。 6. 保存Excel文件。 此外,处理名称中的非法字符,比如替换掉Windows不允许的字符如\/:*?"<>|,用下划线代替。 例如: import re def sanitize_folder_name(name): return re.sub(r'[\\/*?:"<>|]', '_', name) 然后,在构造文件夹名称时使用处理后的名称。 现在,将步骤详细写出来: 步骤一:安装库 用户需要安装openpyxl,可能还需要pandas,但根据需求,可能只需要openpyxl。所以步骤是打开cmd,运行pip install openpyxl。 步骤二:创建Excel模板,用户需要手动创建还是通过Python脚本?可能通过Python脚本自动创建,这样更自动化。所以代码部分可以包含创建Excel文件,添加三个工作表,并设置表头。 步骤三:编写Python脚本,实现自动创建文件夹、填充数据、设置链接。 步骤四:运行脚本,测试。 然后,用户需要知道如何操作:先运行脚本创建Excel文件,然后在Excel中添加项目名称和类别,再次运行脚本处理这些条目,创建文件夹,填充其他列。 或者,脚本设计成每次运行时,检查所有现有条目,自动处理未处理的。这样用户可以在Excel中不断添加新行,每次运行脚本都会处理新行。 因此,代码的结构应该是: - 打开或创建Excel文件。 - 对于每个工作表,检查是否存在,不存在则创建。 - 设置表头(如果新创建的文件)。 - 遍历每一行,处理未处理的条目。 现在,具体代码示例: import os from openpyxl import Workbook, load_workbook from openpyxl.styles import Font from datetime import datetime import re def sanitize_folder_name(name): return re.sub(r'[\\/*?:"<>|]', '_', name) base_folder = "PersonalManagementSystem" excel_name = "PersonalManagementSystem.xlsx" # 创建基础文件夹 os.makedirs(base_folder, exist_ok=True) # 处理Excel文件 if not os.path.exists(excel_name): wb = Workbook() # 删除默认创建的Sheet default_sheet = wb.active wb.remove(default_sheet) # 创建三个工作表 sheets = ['工作', '生活', '学习'] for sheet in sheets: ws = wb.create_sheet(title=sheet) ws.append(['编号', '名称', '建立时间', '类别', '文件夹路径', '快捷方式']) # 设置标题行加粗 for cell in ws[1]: cell.font = Font(bold=True) wb.save(excel_name) else: wb = load_workbook(excel_name) # 处理每个工作表 for sheet_name in ['工作', '生活', '学习']: if sheet_name not in wb.sheetnames: ws = wb.create_sheet(sheet_name) ws.append(['编号', '名称', '建立时间', '类别', '文件夹路径', '快捷方式']) for cell in ws[1]: cell.font = Font(bold=True) else: ws = wb[sheet_name] # 创建工作表对应的文件夹 sheet_folder = os.path.join(base_folder, sheet_name) os.makedirs(sheet_folder, exist_ok=True) # 遍历行,从第二行开始 for row in ws.iter_rows(min_row=2): name_cell = row[1] # B列是名称 if name_cell.value is None: continue # 跳过空行 # 检查是否已处理(文件夹路径是否为空) folder_path_cell = row[4] # E列是文件夹路径 if folder_path_cell.value is not None: continue # 已处理,跳过 # 处理新条目 # 生成编号(行号-1) number = name_cell.row - 1 ws.cell(row=name_cell.row, column=1, value=number) # 获取名称和类别 name = name_cell.value.strip() category = row[3].value # D列是类别 # 清理名称中的非法字符 safe_name = sanitize_folder_name(name) # 生成文件夹名称 folder_name = f"{number:03d}_{safe_name}" # 三位数编号,如001 folder_path = os.path.join(sheet_folder, folder_name) # 创建文件夹 os.makedirs(folder_path, exist_ok=True) # 记录建立时间 create_time = datetime.now().strftime("%Y-%m-%d %H:%M:%S") ws.cell(row=name_cell.row, column=3, value=create_time) # 记录文件夹路径 abs_folder_path = os.path.abspath(folder_path) ws.cell(row=name_cell.row, column=5, value=abs_folder_path) # 设置快捷方式超链接 hyperlink = f'file:///{abs_folder_path}' link_cell = ws.cell(row=name_cell.row, column=6) link_cell.hyperlink = hyperlink link_cell.value = "点击打开" link_cell.font = Font(color="0000FF", underline="single") wb.save(excel_name) print("处理完成!请查看Excel文件和文件夹。") 这样,用户首次运行脚本时会创建Excel文件和基础文件夹,之后每次添加新行后运行脚本,会自动处理新条目。 需要测试一下这段代码是否存在问题,比如处理行的时候是否正确获取单元格,编号是否正确生成,文件夹创建是否正常,超链接是否有效等。 可能的改进点: - 检查是否已经有编号,避免覆盖。 - 允许用户自定义基础文件夹路径。 - 处理类别子文件夹,比如在工作表“工作”下,根据类别创建子文件夹,但用户没有明确要求,所以可能不需要。 - 添加错误处理,比如文件夹创建失败时的异常捕获。 但根据用户的需求,可能暂时不需要这些,保持代码简单。 最后,用户需要详细的步骤说明,包括如何安装Python,如何运行脚本,如何在Excel中添加数据等。可能需要分步说明,确保用户即使没有编程经验也能操作。</think>以下是通过Python调用Excel创建个人管理系统的详细操作步骤: --- ### **一、环境准备** 1. 安装Python - 官网下载地址:https://www.python.org/downloads/ - 安装时勾选 `Add Python to PATH` 2. 安装依赖库 ```bash pip install openpyxl ``` --- ### **二、创建Python脚本** 复制以下代码到文件 `personal_management.py`: ```python import os from openpyxl import Workbook, load_workbook from openpyxl.styles import Font from datetime import datetime import re def sanitize_folder_name(name): return re.sub(r'[\\/*?:"<>|]', '_', name) # 配置路径 base_folder = "PersonalManagementSystem" excel_name = "PersonalManagementSystem.xlsx" # 创建基础文件夹 os.makedirs(base_folder, exist_ok=True) # 初始化或加载Excel文件 if not os.path.exists(excel_name): wb = Workbook() default_sheet = wb.active wb.remove(default_sheet) for sheet_name in ['工作', '生活', '学习']: ws = wb.create_sheet(title=sheet_name) ws.append(['编号', '名称', '建立时间', '类别', '文件夹路径', '快捷方式']) for cell in ws[1]: cell.font = Font(bold=True) wb.save(excel_name) else: wb = load_workbook(excel_name) # 处理每个工作表 for sheet_name in ['工作', '生活', '学习']: if sheet_name not in wb.sheetnames: ws = wb.create_sheet(sheet_name) ws.append(['编号', '名称', '建立时间', '类别', '文件夹路径', '快捷方式']) for cell in ws[1]: cell.font = Font(bold=True) else: ws = wb[sheet_name] sheet_folder = os.path.join(base_folder, sheet_name) os.makedirs(sheet_folder, exist_ok=True) for row in ws.iter_rows(min_row=2): name_cell = row[1] if name_cell.value is None: continue folder_path_cell = row[4] if folder_path_cell.value is not None: continue number = name_cell.row - 1 ws.cell(row=name_cell.row, column=1, value=number) name = name_cell.value.strip() category = row[3].value if row[3].value else "未分类" safe_name = sanitize_folder_name(name) folder_name = f"{number:03d}_{safe_name}" folder_path = os.path.join(sheet_folder, folder_name) os.makedirs(folder_path, exist_ok=True) create_time = datetime.now().strftime("%Y-%m-%d %H:%M:%S") ws.cell(row=name_cell.row, column=3, value=create_time) abs_folder_path = os.path.abspath(folder_path) ws.cell(row=name_cell.row, column=5, value=abs_folder_path) hyperlink = f'file:///{abs_folder_path}' link_cell = ws.cell(row=name_cell.row, column=6) link_cell.hyperlink = hyperlink link_cell.value = "点击打开" link_cell.font = Font(color="0000FF", underline="single") wb.save(excel_name) print("系统已更新!请查看Excel文件和生成的文件夹。") ``` --- ### **三、运行脚本** 1. 在代码目录打开终端,执行: ```bash python personal_management.py ``` 2. 脚本会自动生成: - Excel文件 `PersonalManagementSystem.xlsx` - 基础文件夹 `PersonalManagementSystem`,内含 `工作`、`生活`、`学习` 子文件夹。 --- ### **四、使用管理系统** 1. **填写数据** - 打开Excel文件,在对应工作表中按格式填写: | 编号 | 名称 | 建立时间 | 类别 | 文件夹路径 | 快捷方式 | |------|------------|----------|------|------------|----------| | 1 | 项目计划书 | [自动生成] | 工作 | [自动生成] | [自动生成] | 2. **运行脚本同步** - 每次添加新行后,重新运行脚本: ```bash python personal_management.py ``` - 脚本会自动创建文件夹并更新Excel中的超链接。 --- ### **五、高级功能扩展** 1. **自定义路径** - 修改代码中的 `base_folder` 变量,例如: ```python base_folder = "D:/我的管理系统" ``` 2. **添加更多分类** - 在代码中扩展工作表名称列表: ```python for sheet_name in ['工作', '生活', '学习', '健身']: ``` --- ### **六、效果验证** 1. Excel中每个条目会生成唯一编号和超链接。 2. 文件夹按 `PersonalManagementSystem/工作/001_项目计划书` 格式自动创建。 3. 点击Excel中的“点击打开”可直接跳转到对应文件夹。 通过此系统,您可以高效管理日常工作、学习和生活任务!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值