- Python find file in windows
- Related Articles
- Python. Строковые методы find и rfind. (13)
- 8 команд для Python по работе с файлами и файловой системой, которые обязательно нужно знать
- Показать текущий каталог
- Проверяем, существует файл или каталог
- Объединение компонентов пути
- Создание директории
- Показываем содержимое директории
- Перемещение файлов
- Копирование файлов
- Удаление файлов и папок
- Find a file in python
- 9 Answers 9
- How can I find where Python is installed on Windows?
- 18 Answers 18
- Not the answer you’re looking for? Browse other questions tagged python windows path or ask your own question.
- Linked
- Related
- Hot Network Questions
- Subscribe to RSS
Python find file in windows
Related Articles
- Difficulty Level : Easy
- Last Updated : 22 Nov, 2020
There may be many instances when you want to search a system.Suppose while writing an mp3 player you may want to have all the ‘.mp3’ files present. Well here’s how to do it in a simple way.
This code searches all the folders in the file it’s being run. If you want some other kinds of files just change the extension.
os is not an external ibrary in python. So I feel this is the simplest and the best way to do this.
This article is contributed by soumith kumar. If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.
Please write comments if you find anything incorrect, or you want to share more information about the topic discussed above.
Attention geek! Strengthen your foundations with the Python Programming Foundation Course and learn the basics.
To begin with, your interview preparations Enhance your Data Structures concepts with the Python DS Course.
Python. Строковые методы find и rfind. (13)
‘строка’.find(‘подстрока поиска’, начало среза, конец среза)
‘строка’ – строка в которой будет произведен поиск.
подстрока поиска – строка первое совпадение с которой будет искать метод. Обязательный аргумент.
начало среза –в случае использования этого аргумента, определяет индекс элемента с которого начинается срез, в котором будет искаться первое совпадение с подстрокой поиска. Необязательный аргумент.
конец среза — в случае использования этого аргумента определяет индекс элемента, которым заканчивается срез, в котором будет искаться первое совпадение с подстрокой поиска. Необязательный аргумент.
Строковый метод find ищет в полученной строке первое совпадение с подстрокой поиска. Поиск происходит слева-направо.
Возвращает целое число равное индексу элемента первого совпадения с подстрокой поиска.
В случае если в объекте нет искомой подстроки, метод возвращает -1.
‘строка’ .rfind(‘подстрока поиска’, начало среза, конец среза)
‘строка’ – строка в которой будет произведен поиск.
подстрока поиска – строка первое совпадение с которой будет искать метод. Обязательный аргумент.
начало среза –в случае использования этого аргумента, определяет индекс элемента с которого начинается срез, в котором будет искаться первое совпадение с подстрокой поиска. Необязательный аргумент.
конец среза — в случае использования этого аргумента определяет индекс элемента, которым заканчивается срез, в котором будет искаться первое совпадение с подстрокой поиска. Необязательный аргумент.
Строковый метод rfind ищет в полученной строке первое совпадение с подстрокой поиска. Поиск происходит справа-налево.
Возвращает целое число равное индексу элемента первого совпадения с подстрокой поиска.
В случае если в объекте нет искомой подстроки, метод возвращает -1.
Единственным отличием строковых методов find и rfind является направление поиска.
Метод find ищет первое совпадение с подстрокой поиска слева-направо, а метод rfind ищет справа-налево.
По ссылкам можно почитать мои конспекты:
8 команд для Python по работе с файлами и файловой системой, которые обязательно нужно знать
Python становится все популярнее благодаря относительной простоте изучения, универсальности и другим преимуществам. Правда, у начинающих разработчиков нередко возникают проблемы при работе с файлами и файловой системой. Просто потому, что они знают не все команды, которые нужно знать.
Эта статья предназначена как раз для начинающих разработчиков. В ней описаны 8 крайне важных команд для работы с файлами, папками и файловой системой в целом. Все примеры из этой статьи размещены в Google Colab Notebook (ссылка на ресурс — в конце статьи).
Показать текущий каталог
Самая простая и вместе с тем одна из самых важных команд для Python-разработчика. Она нужна потому, что чаще всего разработчики имеют дело с относительными путями. Но в некоторых случаях важно знать, где мы находимся.
Относительный путь хорош тем, что работает для всех пользователей, с любыми системами, количеством дисков и так далее.
Так вот, для того чтобы показать текущий каталог, нужна встроенная в Python OS-библиотека:
Ее легко запомнить, так что лучше выучить один раз, чем постоянно гуглить. Это здорово экономит время.
Имейте в виду, что я использую Google Colab, так что путь /content является абсолютным.
Проверяем, существует файл или каталог
Прежде чем задействовать команду по созданию файла или каталога, стоит убедиться, что аналогичных элементов нет. Это поможет избежать ряда ошибок при работе приложения, включая перезапись существующих элементов с данными.
Функция os.path.exists () принимает аргумент строкового типа, который может быть либо именем каталога, либо файлом.
В случае с Google Colab при каждом запуске создается папка sample_data. Давайте проверим, существует ли такой каталог. Для этого подойдет следующий код:
Эта же команда подходит и для работы с файлами:
Если папки или файла нет, команда возвращает false.
Объединение компонентов пути
В предыдущем примере я намеренно использовал слеш «/» для разделителя компонентов пути. В принципе это нормально, но не рекомендуется. Если вы хотите, чтобы ваше приложение было кроссплатформенным, такой вариант не подходит. Так, некоторые старые версии ОС Windows распознают только слеш «\» в качестве разделителя.
Но не переживайте, Python прекрасно решает эту проблему благодаря функции os.path.join (). Давайте перепишем вариант из примера в предыдущем пункте, используя эту функцию:
Создание директории
Ну а теперь самое время создать директорию с именем test_dir внутри рабочей директории. Для этого можно использовать функцию
os.mkdir():
Давайте посмотрим, как это работает на практике.
Если же мы попытаемся создать каталог, который уже существует, то получим исключение.
Именно поэтому рекомендуется всегда проверять наличие каталога с определенным названием перед созданием нового:
Еще один совет по созданию каталогов. Иногда нам нужно создать подкаталоги с уровнем вложенности 2 или более. Если мы все еще используем os.mkdir (), нам нужно будет сделать это несколько раз. В этом случае мы можем использовать os.makedirs (). Эта функция создаст все промежуточные каталоги так же, как флаг mkdir -p в системе Linux:
Вот что получается в результате.
Показываем содержимое директории
Еще одна полезная команда — os.listdir(). Она показывает все содержимое каталога.
Команда отличается от os.walk (), где последний рекурсивно показывает все, что находится «под» каталогом. os.listdir () намного проще в использовании, потому что просто возвращает список содержимого:
В некоторых случаях нужно что-то более продвинутое — например, поиск всех CSV-файлов в каталоге «sample_data». В этом случае самый простой способ — использовать встроенную библиотеку glob:
Перемещение файлов
Самое время попробовать переместить файлы из одной папки в другую. Рекомендованный способ — еще одна встроенная библиотека shutil.
Сейчас попробуем переместить все CSV-файлы из директории «sample_data» в директорию «test_dir». Ниже — пример кода для выполнения этой операции:
Кстати, есть два способа выполнить задуманное. Например, мы можем использовать библиотеку OS, если не хочется импортировать дополнительные библиотеки. Как os.rename, так и os.replace подходят для решения задачи.
Но обе они недостаточно «умные», чтобы позволить перемесить файлы в каталог.
Чтобы все это работало, нужно явно указать имя файла в месте назначения. Ниже — код, который это позволяет сделать:
Здесь функция os.path.basename () предназначена для извлечения имени файла из пути с любым количеством компонентов.
Другая функция, os.replace (), делает то же самое. Но разница в том, что os.replace () не зависит от платформы, тогда как os.rename () будет работать только в системе Unix / Linux.
Еще один минус — в том, что обе функции не поддерживают перемещение файлов из разных файловых систем, в отличие от shutil.
Поэтому я рекомендую использовать shutil.move () для перемещения файлов.
Копирование файлов
Аналогичным образом shutil подходит и для копирования файлов по уже упомянутым причинам.
Если нужно скопировать файл README.md из папки «sample_data» в папку «test_dir», поможет функция shutil.copy():
Удаление файлов и папок
Теперь пришел черед разобраться с процедурой удаления файлов и папок. Нам здесь снова поможет библиотека OS.
Когда нужно удалить файл, нужно воспользоваться командой os.remove():
Если требуется удалить каталог, на помощь приходит os.rmdir():
Однако он может удалить только пустой каталог. На приведенном выше скриншоте видим, что удалить можно лишь каталог level_3. Что если мы хотим рекурсивно удалить каталог level_1? В этом случае зовем на помощь shutil.
Функция shutil.rmtree() сделает все, что нужно:
Пользоваться ею нужно с осторожностью, поскольку она безвозвратно удаляет все содержимое каталога.
Собственно, на этом все. 8 важных операций по работе с файлами и каталогами в среде Python мы знаем. Что касается ссылки, о которой говорилось в анонсе, то вот она — это Google Colab Network с содержимым, готовым к запуску.
Find a file in python
I have a file that may be in a different place on each user’s machine. Is there a way to implement a search for the file? A way that I can pass the file’s name and the directory tree to search in?
9 Answers 9
os.walk is the answer, this will find the first match:
And this will find all matches:
And this will match a pattern:
I used a version of os.walk and on a larger directory got times around 3.5 sec. I tried two random solutions with no great improvement, then just did:
While it’s POSIX-only, I got 0.25 sec.
From this, I believe it’s entirely possible to optimise whole searching a lot in a platform-independent way, but this is where I stopped the research.
In Python 3.4 or newer you can use pathlib to do recursive globbing:
In Python 3.5 or newer you can also do recursive globbing like this:
If you are using Python on Ubuntu and you only want it to work on Ubuntu a substantially faster way is the use the terminal’s locate program like this.
search_results is a list of the absolute file paths. This is 10,000’s of times faster than the methods above and for one search I’ve done it was
72,000 times faster.
For fast, OS-independent search, use scandir
If you are working with Python 2 you have a problem with infinite recursion on windows caused by self-referring symlinks.
This script will avoid following those. Note that this is windows-specific!
It returns a list with all paths that point to files in the filenames list. Usage:
Below we use a boolean «first» argument to switch between first match and all matches (a default which is equivalent to «find . -name file»):
How can I find where Python is installed on Windows?
I want to find out my Python installation path on Windows. For example:
How can I find where Python is installed?
18 Answers 18
In your Python interpreter, type the following commands:
Also, you can club all these and use a single line command. Open cmd and enter following command
If you have Python in your environment variable then you can use the following command in cmd:
or for Unix enviroment
command line image :
It would be either of
- C:\Python36
- C:\Users\(Your logged in User)\AppData\Local\Programs\Python\Python36
If you need to know the installed path under Windows without starting the python interpreter, have a look in the Windows registry.
Each installed Python version will have a registry key in either:
In 64-bit Windows, it will be under the Wow6432Node key:
On my windows installation, I get these results:
(You can also look in sys.path for reasonable locations.)
or try using (in cmd )
In the sys package, you can find a lot of useful information about your installation:
I’m not sure what this will give on your Windows system, but on my Mac executable points to the Python binary and exec_prefix to the installation root.
You could also try this for inspecting your sys module:
If you have the py command installed, which you likely do, then just use the —list-paths argument to the command:
Installed Pythons found by py Launcher for Windows
-3.8-32 C:\Users\cscott\AppData\Local\Programs\Python\Python38-32\python.exe *
-2.7-64 C:\Python27\python.exe
The * indicates the currently active version for scripts executed using the py command.
If You want the Path After successful installation then first open you CMD and type python or python -i
It Will Open interactive shell for You and Then type
Hit enter and you will get path where your python is installed .
To know where Python is installed you can execute where python in your cmd.exe.
You can search for the «environmental variable for you account». If you have added the Python in the path, it’ll show as «path» in your environmental variable account.
but almost always you will find it in «C:\Users\%User_name%\AppData\Local\Programs\Python\Python_version«
the ‘AppData‘ folder may be hidden, make it visible from the view section of toolbar.
If anyone needs to do this in C# I’m using the following code:
Go to C:\Users\USER\AppData\Local\Programs\Python\Python36 if it is not there then open console by windows+^R Then type cmd and hit enter type python if installed in your local file it will show you its version from there type the following import os import sys os.path.dirname(sys.executable)
This worked for me: C:\Users\Your_user_name\AppData\Local\Programs\Python
My currently installed python version is 3.7.0
Hope this helps!
if you still stuck or you get this
simply do this replace 2 \ with one
I installed 2 and 3 and had the same problem finding 3. Fortunately, typing path at the windows path let me find where I had installed it. The path was an option when I installed Python which I just forgot. If you didn’t select setting the path when you installed Python 3 that probably won’t work — unless you manually updated the path when you installed it. In my case it was at c:\Program Files\Python37\python.exe
If you use anaconda navigator on windows, you can go too enviornments and scroll over the enviornments, the root enviorment will indicate where it is installed. It can help if you want to use this enviorment when you need to connect this to other applications, where you want to integrate some python code.
Not the answer you’re looking for? Browse other questions tagged python windows path or ask your own question.
Linked
Related
Hot Network Questions
Subscribe to RSS
To subscribe to this RSS feed, copy and paste this URL into your RSS reader.
site design / logo © 2021 Stack Exchange Inc; user contributions licensed under cc by-sa. rev 2021.4.16.39093
By clicking “Accept all cookies”, you agree Stack Exchange can store cookies on your device and disclose information in accordance with our Cookie Policy.