Os.path: можно ли объяснить это поведение?

Попробуйте составить группы в запросах такого типа

select * from usr_booking where shop_id='21' AND ((start_time between '10:10:00' and '11:01:00') OR (end_time between '10:10:00' and '11:01:00'))

Добавьте дополнительные скобки, чтобы создать группы.

5
задан e-satis 8 October 2008 в 11:32
поделиться

3 ответа

Если Вы хотите управлять путями Windows на Linux, необходимо использовать ntpath модуль (это - модуль, который импортируется, как os.path на окнах - posixpath импортируется как os.path на Linux),

>>> import ntpath
>>> filepath = r"c:\ttemp\FILEPA~1.EXE"
>>> print ntpath.basename(filepath)
FILEPA~1.EXE
>>> print ntpath.splitdrive(filepath)
('c:', '\\ttemp\\FILEPA~1.EXE')
25
ответ дан 12 December 2019 в 12:12
поделиться

См. документацию здесь, конкретно:

splitdrive (p) Разделение путь в диск и путь. На Posix диск всегда пуст.

Таким образом, это не будет работать над полем Linux.

1
ответ дан 12 December 2019 в 12:12
поделиться

От a os.path документация:

os.path.splitdrive (путь)
Разделите путь пути к паре (диск, хвост), где диск является или спецификацией диска или пустой строкой. В системах, которые не используют спецификации диска, диск всегда будет пустой строкой. Во всех случаях диск + хвост совпадет с путем.

Если Вы выполняющий это на Unix, это не будет использовать спецификации диска, следовательно - то диск будет пустой строкой.

Если Вы хотите решить пути окон на какой-либо платформе, можно просто использовать простой regexp:

import re
(drive, tail) = re.compile('([a-zA-Z]\:){0,1}(.*)').match(filepath).groups() 

drive будет буква диска, сопровождаемая : (например. c:, u:) или None, и tail целый отдых :)

3
ответ дан 12 December 2019 в 12:12
поделиться
Другие вопросы по тегам:

Похожие вопросы: