Python 3.x 在Python中创建目录不起作用(Windows)
我的python项目有问题。我在mac电脑上开始编码,后来在windows电脑上查看。现在的问题是,我创建文件的方法无法工作(即使如此,我还是将其调整为新的文件系统) 我尝试在现有目录(C:\Users\t\Documents\pythonProject\SampleData\2016-10-19\u 16:03:57)中创建一个子目录(C:\Users\t\Documents\pythonProject\SampleData) 然而,当我执行代码时,我得到一个预期,即我的文件名的sytax不正确Python 3.x 在Python中创建目录不起作用(Windows),python-3.x,Python 3.x,我的python项目有问题。我在mac电脑上开始编码,后来在windows电脑上查看。现在的问题是,我创建文件的方法无法工作(即使如此,我还是将其调整为新的文件系统) 我尝试在现有目录(C:\Users\t\Documents\pythonProject\SampleData\2016-10-19\u 16:03:57)中创建一个子目录(C:\Users\t\Documents\pythonProject\SampleData) 然而,当我执行代码时,我得到一个预期,即我的文件名的sytax不正
def create_dir_if_not_exists():
try:
ts = time.time()
st = datetime.datetime.fromtimestamp(ts).strftime('%Y-%m-%d_%H:%M:%S')
Utils.folderTimerStamp = os.path.join('Users', 't', 'Documents', 'pythonProject', 'SampleData')
Utils.folderName = 'SampleData\\' +st +'\\'
if not os.path.exists(Utils.folderTimerStamp+"\\" +st +"\\"):
os.makedirs(Utils.folderTimerStamp+"\\" +st +"\\")
except OSError as exception:
if exception.errno != errno.EEXIST:
raise
使用驱动器号
C:
和反斜杠
作为os.path.join()调用中的第一个参数:
os.path.join('C:\\','Users', 't', 'Documents', 'pythonProject', 'SampleData')
在窗户里
文件夹名或文件名不能包含以下任何字符:*?“|
因此,请替换除上述字符以外的任何其他字符:
我已将:
替换为-
strftime('%Y-%m-%d_%H-%M-%S')
您正在尝试创建文件名,根据,该文件名无效 文档中的例外(强调我的): 使用当前代码页中的任何字符作为名称,包括 Unicode字符和扩展字符集中的字符 (128-255),除以下内容外:
(大于)
(冒号):
(双引号)“
(正斜杠)/
(反斜杠)\
(竖条或管道)|
(问号)?
st
值以表示有效的NTFS文件名,例如
st = datetime.datetime.fromtimestamp(ts).strftime('%Y-%m-%d_%H-%M-%S')
谢谢你的评论。不幸的是,它也不起作用。哦,唯一的问题是,冒号(:)在Windows文件夹/文件名中是被禁止的,所以您必须更改它们(例如从9:36:27更改为9-36-27),谢谢!安静了一段时间后我也看到了汉克斯!安静了一段时间后我也看到了D@TorbenVerdorben如果答案有助于解决你的问题,那么接受答案。