我正在尝试使用在Python上运行的IDM系统自动创建个人文件夹。将在\\\server\personal\%userID%
上创建所有用户共享。 \\\server\personal and %userID%
作为default_settings.home_directory
和profileid传递。我正在尝试的代码:
share = self.config.getID('default_settings.home_directory') + profileid
self.log.info('Share = [{0}]'.format(share))
os.makedirs(share)
在日志中我有
Share = [\\server\personal\xr2829]
但
错误WindowsError: [Error 123] The filename, directory name, or volume label syntax is incorrect: '\\\\'
答案 0 :(得分:0)
尝试这个替代方案:
os.makedirs(os.path.join(self.config.getID('default_settings.home_directory'), profileid))
应该注意斜杠/反斜杠混淆
答案 1 :(得分:0)
我猜你的配置字符串中的//
之后有一个空字符。 Python不关心,但支持os.makedirs
的C函数将在null上停止。尝试记录repr(share)
,这将提供更详细的字符串表示。
修改:更密切地关注os.makedirs
功能提示另一种可能性。该路径被分解为组件,以便可以根据需要检查或创建每个组件。错误消息表示前两个斜杠(使用\\\\
显示时repr
)已作为第一个目录元素分解。 documentation表示从版本2.3开始支持UNC路径,但也许您使用的是非常旧的Python版本,或者仍然存在错误。