"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 \n os.mkdir(folder_path)\nOSError: [WinError 123] 文件名、目录名或卷标语法不正确。: 'C:\Users\Administrator\Desktop\照片\2023-07-09 14:00:00'怎么解决\n\n这个错误是因为文件夹名称中包含了不允许的特殊字符。在Windows系统中,文件夹名称不能包含以下字符:/ : * ? " < > |。\n\n你可以将文件夹名称中的特殊字符替换为其他合法字符,例如使用下划线或短横线来代替冒号和空格。\n\n在你的代码中,可以尝试使用以下代码来替换文件夹路径中的特殊字符:\n\npython\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 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录