Python 文件夹命名错误: 解决 Windows 系统中的特殊字符问题
"import os\nimport time\nimport psutil\nfrom selenium.webdriver.chrome.options import Options\nfrom selenium import webdriver\nfrom selenium.webdriver.common.by import By\nimport openpyxl\n\n# 检查是否已经存在浏览器实例,如果存在则不再创建\nfor proc in psutil.process_iter():\n try:\n if "chrome" in proc.name() and "--remote-debugging-port=9224" in proc.cmdline():\n options = Options()\n options.add_experimental_option("debuggerAddress", "127.0.0.1:9224")\n break\n except:\n pass\nelse:\n # 创建浏览器实例\n os.system(r'start chrome --remote-debugging-port=9224 --user-data-dir="D:\评阅用"')\n options = Options()\n options.add_experimental_option("debuggerAddress", "127.0.0.1:9224")\n\n# 在已有的浏览器实例中查找标签页\ndriver = webdriver.Chrome(options=options)\ntabs = driver.window_handles\nfor tab in tabs:\n driver.switch_to.window(tab)\n if driver.title == "考后核验":\n print("登陆成功")\n break\n\n# 打开Excel表格\nwb = openpyxl.load_workbook(r"C:\Users\Administrator\Desktop\考后核验.xlsx")\nsheet = wb.active\n\n# 创建照片文件夹\nif not os.path.exists(r"C:\Users\Administrator\Desktop\照片"):\n os.mkdir(r"C:\Users\Administrator\Desktop\照片")\n\n# 遍历时间单元K列\nfor row in sheet.iter_rows(min_row=2, max_row=sheet.max_row, min_col=11, max_col=11):\n for cell in row:\n # 获取时间单元内的数据\n data = cell.value\n if data:\n # 创建子文件夹\n folder_path = os.path.join(r"C:\Users\Administrator\Desktop\照片", str(data))\n if not os.path.exists(folder_path):\n os.mkdir(folder_path)\n\n\n运行报错Traceback (most recent call last):\n File "D:\试用版\照片核验.py", line 50, in python\nimport re\n\n# 替换特殊字符的函数\ndef replace_special_chars(name):\n return re.sub(r'[\/:*?\"<>|]', '_', name)\n\n# 创建子文件夹\nfolder_path = os.path.join(r\"C:\Users\Administrator\Desktop\照片\", replace_special_chars(str(data)))\n\n\n使用上述代码,特殊字符将被替换为下划线。例如,将文件夹名称中的冒号和空格替换为下划线。\n\n如果你还想进一步控制文件夹名称的格式,可以使用strftime函数来格式化日期和时间,例如:\n\npython\n# 格式化日期和时间\nformatted_date = data.strftime(\"%Y-%m-%d %H-%M-%S\")\n\n# 创建子文件夹\nfolder_path = os.path.join(r\"C:\Users\Administrator\Desktop\照片\", replace_special_chars(formatted_date))\n\n\n这样可以确保文件夹名称的格式是"年-月-日 时-分-秒",并且不包含特殊字符。\n
原文地址: https://www.cveoy.top/t/topic/pH2Z 著作权归作者所有。请勿转载和采集!