python - найти файл пути в строке - PullRequest
1 голос
/ 29 апреля 2020

Я хочу, чтобы код записал мне все пути в тексте. например:

text = "hello. this is path: C:\Users\zivsi\noz\wave.txt"
print(path in the text)
(C:\Users\zivsi\noz\wave.txt)

как я могу это сделать? спасибо

Ответы [ 2 ]

0 голосов
/ 30 апреля 2020

Я думаю, вы могли бы попытаться найти некоторые файловые системы на вашем пути. Предполагая, что все пути, которые вы хотите найти, содержат файловую систему. Я постараюсь сделать это следующим образом:

file_systems = ["c:","d:","f:"] # Your possible file systems here
file_extensions = [".txt",".csv", ".xml"] # Your file extensions here

# my text
text = r"hello. this is path: C:\Users\zivsi\noz\wave.txt"

# The position where the path starts/ends
idx_fs = 0
idx_fe = 0 

for i in range(len(text)):
    test_fs = text[i:i+2].lower()
    test_fe = text[i:i+4].lower()
    # Find the position where your file system starts
    if test_fs in file_systems:
        idx_fs = i
    if test_fe in file_extensions:
        idx_fe = i + 3
        break

path = text[idx_fs:idx_fe]
print(path) # This gives as result: C:\Users\zivsi\noz\wave.txt

Я знаю, что это ограниченный вариант использования, но он работает с указанным вами путем, пожалуйста, дайте мне знать, если это было то, что вы искали! : D

0 голосов
/ 29 апреля 2020

Попробуйте использовать регулярное выражение для сопоставления определенных шаблонов в строке, см. здесь для библиотеки re c (библиотека regex).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...