Низкие расходы и медленный сервис: как открыть IT-бизнес в Сербии и зачем это делать
Среди стран, куда перевозили свои офисы некоторые российские стартапы и технологические компании, Сербия — одна из самых популярных. Она привлекает предпринимателей близостью к Европе и сравнительной простотой переезда: визы россиянам там не нужны, а открыть счет в банке, запустить компанию или получить ВНЖ не так уж сложно. Предприниматель Виталий Зарубин, который перевез сюда свою технологическую компанию в марте, рассказывает, почему выбрал Сербию и делится советами и наблюдениями об особенностях бизнеса в этой стране
Почему Сербия
У Сербии уникальное географическое положение и развитая инфраструктура, позволяющая обслуживать клиентов в Европейском Союзе, Юго-Восточной Европе и на Ближнем Востоке. Страна расположена буквально между Востоком и Западом. Через Сербию проходит два так называемых панъевропейских транспортных коридора: автомобильно-железнодорожный коридор-10 и речной коридор-7 (Дунайский). Коридор-10 связывает страны от Греции до Австрии, а речной коридор, один из самых экономически выгодных, соединяет 10 европейских стран и крупнейшие мировые порты.
Сербия имеет соглашения о свободной торговле с большим количеством стран, что дает выход на рынки Евразийского союза, Юго-Восточной Европы, Турции и Европейской ассоциации свободной торговли (European Free Trade Association — EFTA). Кроме того, страна пользуется льготами при торговле с США и ЕС, а анонсированное в этом году соглашение о свободной торговле с Китаем сделает Сербию одной из немногих стран Европы, которая сможет без ограничений поставлять свои товары на китайский рынок.
Здесь довольно развитая банковская система. На сегодня в Сербии работает множество банков, которые готовы предложить бизнесу из России качественные услуги. Кроме местных, здесь также есть западноевропейские, американские, китайские банки и банки из ОАЭ. Страна является участником международной платежной системы, поэтому для компаний полностью доступны платежи практически в любой мировой валюте.
В Сербии можно рассчитывать на сравнительно низкие операционные затраты. Заработная плата, арендная плата, электричество, газ будут обходиться не так дорого. Это один из немаловажных факторов при выборе страны для ведения бизнеса. Например, аренда офиса в Белграде, столице Сербии, обойдется в €300-800 в зависимости от места локации. Можно воспользоваться услугой коворкинга, в этом случае рабочее место обойдется в €15-25 в день.
Кроме того, минимальная заработная плата в стране, особенно в IT-секторе, значительно ниже, чем у аналогичных специалистов в других европейских странах или в США. Средняя ставка разработчика в час в Сербии — порядка €30, примерно такая, как в Турции или Армении. При этом в той же Германии она начинается от €50, а в США средняя ставка составляет около $80 в час.
В Сербии выгодная система налогообложения. Местные власти предлагают иностранным компаниям немало налоговых льгот, а кроме того, здесь один из самых привлекательных налогов на прибыль — он составляет всего 15%. Кроме того, в Сербии есть 15 свободных экономических зон с льготным налоговым режимом в сфере услуг и производства. В эти льготы входит освобождение компании от уплаты таможенных пошлин на ввоз сырья и от уплаты НДС.
наш канал о релокации
К каким минусам надо готовиться
Сербия — небольшая страна, а значит, и бизнес-потенциал по количеству предприятий и возможностей здесь ограничен. Большое число компаний здесь работает на другие страны Европы и Азии.
Как показывает мой опыт, мало городов в мире могут похвастаться такой развитостью сервисов, как Москва или Санкт-Петербург. Мы привыкли к тому, что любую справку можно получить онлайн, оплатить налоги нажатием одной кнопки, а бухгалтеров можно никогда не видеть в глаза, но получать от них идеальные услуги. К сожалению, в Сербии нужно носить каждый документ, вручать его лично и подолгу общаться с бухгалтерией. Сервис скоростью и качеством не блещет.
Банковский рабочий день длится до 17:00, а скорость обслуживания клиентов в разы медленнее, чем в Москве. Когда я регистрировал банковский счет для компании, эта регистрация заняла месяц. Она заняла бы и больше, если по прошествии двух недель молчания я не пришел в банк и не узнал, как там дела. Оказалось, что банк ждет от меня какие-то дополнительные документы.
Языковой барьер действительно мешает. Спустя полгода жизни в Сербии могу с уверенностью сказать, что без знания местного языка очень трудно. Поэтому для всех сделок я брал с собой переводчика. В государственных учреждения никто не знает английского даже на базовом уровне, приходится использовать Google-переводчик, да и он не всегда помогает. Некоторые сербы понимают русский, но тут как повезет, рассчитывать на это не стоит.
Материал по теме
Как в Сербии регистрируют компании
Прежде всего стоит отметить, что на рынке сейчас хватает людей и компаний, которые оказывают услуги быстрой регистрации юридического лица. Мой совет: найдите чаты русских в Сербии в Telegram и попросите кого-то вам порекомендовать для решения этого вопроса. Ни в коем случае не берите консалтинговую компанию из местных: многие албанские и сербские компании просто ищут юриста на местных агрегаторах, вроде российского hh.ru, и перепродают вам его услуги втридорога. Скорее всего, так вы потратите в разы больше денег (услуга начинается от €1000) и проиграете в скорости.
Регистрация компании — это один из первых шагов при релокации. Можно пойти двумя путями: зарегистрироваться как DОО (аналог российского ООО) или как индивидуальный предприниматель. Оба типа компании регистрируются плюс-минус одинаково по времени. Кроме этого, потребуется указать код деятельности (местный аналог ОКВЭД) и название компании. Также надо прикрепить выписку из сербского банка, подтверждающую наличие денежных средств. Существует негласное правило, что для регистрации ИП надо минимум €1000 на человека, для DOO — €2000 на человека.
Также для регистрации юридического лица потребуется юридический адрес. Существуют виртуальные адреса, они позволяют получить юридический адрес, но находиться там нельзя, кроме того, администрации города о них хорошо осведомлены, и бывали случаи отказов в ВНЖ, если компания была зарегистрирована на подобный адрес. Стоимость хорошего виртуального адреса — €200 в месяц, средняя стоимость аренды настоящего офиса — €8 за кв. м в месяц. Проверенный виртуальный адрес дает гарантии, что на него не зарегистрировано множество компаний однодневок, у налоговой не возникнет вопросов.
Если у вас небольшая IT-компания с оборотом не более €55 000 (6,5 млн сербских динаров) в год, то выгоднее регистрироваться в качестве ИП (по-сербски — «предузетник»). Это возможно, только если вы не трудоустраиваете никого к себе в компанию. Как и в России, ИП в Сербии отвечает по долгам перед контрагентами всем своим имуществом, а перед налоговой — еще и семейным имуществом. До оборота 6,5 млн динар предприниматель считается «паушальцем» и обязан платить фиксированный вмененный налог, который зависит от ОКВЭД и региона, — около 35 000 динар ($317) в месяц. При обороте в 6,5 млн динар и выше необходимо вести полноценный бухгалтерский учет и платить в соответствии с доходом и расходом, оплачивать процент по налогу от прибыли. Если превышаешь 8 млн динар, то начисляется VAT (местный аналог НДС — 20%).
При регистрации DOO, как и в России, необходимо подготовить минимальный набор документов: устав компании, состав учредителей с распределением долей, выписку с банковского счета, оплаченную госпошлину и медицинскую страховку.
Наверное, самая большая статья расходов — налоги на сотрудников. Они могут достигать 65% в зависимости от таких параметров, как регион, специализация компании и т. д. Предприниматели справляются по-разному: кто-то платит в конвертах, что, естественно, является нарушением закона; можно работать с сотрудником как с ИП; (наш случай) выплачивать существенную часть в виде премий.
Минимальная заработная плата сотрудника зависит от региона, в целом она колеблется между 38 000 динар и 50 000 динар (для расчета в рублях просто поделите сумму на два, получится грубая стоимость в рублях). У нас программисты, в основном из России, получают в год в среднем 2,5 млн динар. Мы платим им довольно низкую зарплату в 100 000 динар и два раза в год платим премию в размере 600 000 динар. Таким образом, на сумму в 100 000 динар начисляется 60% налогов, а на 1 млн динар — только 27%.
Как компания вы обязаны также платить 15% налога на прибыль. Если вы хотите получить дивиденды, то налог на дивиденды составит 15%, но есть определенные условия, чтобы налог на дивиденды был 5%. Для этого владелец компании должен быть из-за рубежа, а в компании должна быть зафиксирована определенная сумма уставного капитала. Это является активацией соглашений об избежании двойного налогообложения.
В Сербии существует также прогрессивная шкала подоходного налога. То есть вы, как руководитель, еще являетесь и физическим лицом, которое получает зарплату. При совокупном доходе за год до 3,2 млн динар налог составляет 10%, до 6,5 млн динар — 20%, свыше — 25%.
Если говорить о бухгалтерском учете, то в ИП можно вести его самому, а вот для DOO, скорее всего, придется нанимать бухгалтерскую компанию. Средний ценник услуги от €150 до €300 в зависимости от параметров компании. Это распространенная здесь практика. По поводу всего, что касается налогов, рекомендую обращаться к местным юристам, чтобы избежать сюрпризов по окончании финансового года.
Материал по теме
Что нужно знать об особенностях местного бизнеса
Как я уже говорил, надо быть готовым к тому, что местный рынок крайне небольшой. Технологические компании тут в основном работают на Европу и ближайшее зарубежье. Тут очень много компаний, основанных русскими предпринимателями. Также много китайских инвестиций: район Waterfront, местная достопримечательность, полностью застроен на эти деньги.
Мы в первое время очень большое внимание уделяли кейсам по разработке именно для российского рынка, потому что есть ощущение, что здешний рынок отстает от Москвы лет на 10. Например, мы работаем с местной системой парковок. Она позволяют оплачивать парковку онлайн, но оплата штрафа осуществляется только в отделении банка.
С точки зрения ведения бизнеса подход сербов очень близок нам. По сравнению с США, где главное — показать готовый продукт, тут принято в первую очередь провести очную встречу. Важно именно увидеть человека и пообщаться, в особенности это касается крупного бизнеса — в Сербии он строится исключительно на доверии.
Прямо сейчас в Белграде и Нови-Саде можно наблюдать несколько крупных локальных сообществ, которые появились за последний месяц. Это акселераторы и стартап-студии, у которых сербские инвесторы и российские СЕО.
Наверное, все слышали новости про то, что «Яндекс» арендовал тут офис, так вот, после этого в Белграде меньше чем за месяц прошло несколько организованных компанией мероприятий — по здешним меркам это просто невероятный темп.
Местный рынок кадров и технологий
После переезда компании мы начали расширять штат и хотели для администрирования офиса, бухгалтерского учета и части разработки привлечь местные кадры. Спустя полгода мы закрыли эти вакансии, но поиск был довольно долгим.
Вместе с переездом гигантов, вроде Luxoft, Data Art, Epam, в Сербию рынок становится перенасыщен и можно найти хорошие кадры по местной стоимости. Средняя зарплата middle+ разработчика примерно €2000 в месяц. Правда, для трудоустройства необходимо объяснить, почему вы взяли иностранца, а не местного, но для этого готовится специфичная вакансия, по которой невозможно найти сотрудника среди местных. Например, вы ищите swift-разработчика с портфолио в банкинге, с опытом работы с конкретными фреймворками и библиотеками. Чем точнее указаны требования, тем лучше.
Я думаю, что все замечали неудобный и неприятный UX мобильных приложений, используемых в Европе повсеместно. Здесь такая же проблема, я бы сказал, что рынок технологий тут не сильно развит. Мы работаем с местным банком по ряду внутренних систем, они сами по себе довольно старые — написаны на технологии версии 2005 года. Вся команда разработчиков банка (10 человек) работает в этом коллективе по меньшей мере семь-восемь лет. В России ходить по собеседованиям и менять место работы каждые два-три года — обычное явление, но в Сербии это пока не принято.
Материал по теме
Как искать клиентов: нетворкинг, стартапы и акселераторы
Поиск клиентов всегда нужно начинать с изучения рынка: в чем именно он нуждается, что компания может ему предложить и будет ли это предложение востребовано? И нужно быть готовым к тому, что придется начинать буквально с нуля. После этого уже можно переходить к конкретным шагам. Примерно каждую неделю мы делали презентации под разные кейсы, обзванивали компании и проводили встречи.
Я встречался с местным предпринимателем, он рассказывал о том, что хочет сделать программное обеспечение для казино, которое можно было бы продавать по модели white-label (в Сербии казино полностью легально). После встречи я решил поискать информацию об этом человеке и нашел его профиль на LinkedIn, где он значился директором по продуктам в министерстве цифровизации Сербии.
Один из моих знакомых, который занимается разработкой софта для отелей, просто начал искать в LinkedIn контакты владельцев и СЕО в этой сфере и назначать с ними встречи — сейчас у него порядка 10 сделок на местном рынке. Самый очевидный и самый рабочий способ.
В Белграде проводится много нишевых конференций, я бы посоветовал начинать оттуда, чтобы обзавестись нужной сетью знакомых. Например, есть открытые стартап-вечеринки и акселераторы, через них можно получить контакты как ключевых игроков на рынке, так и тех, кто проходил в них акселерацию.
Кроме того, я считаю, что тестовые запуски рекламы в соцсетях и Google помогут лучше понять потребности местного бизнеса и его отклик на привычные нам предложения. Один из вызовов для отечественных предпринимателей — принять то, что предложения, которые работали для России, могут не сработать в другой стране, даже такой, на первый взгляд понятной, как Сербия. Все оферы придется корректировать с учетом разницы в менталитетах. Например, фразы вроде «чат-бот» и «мобильные приложения» в принципе не воспринимались, и кликов по ним было на порядок меньше, чем по классическому «веб-сайт» и software. Мы в какой-то момент решили вообще отойти от технических оферов ближе к маркетинговым: про рост и сокращение издержек, а не про саму разработку.
Любой переезд, особенно если это переезд компании и бизнеса, сопряжен с трудностями. Но все эти трудности можно преодолеть. Мой опыт показывает, что сегодня релокация в Сербию – один из самых лучших вариантов для тех, кто хочет развивать свой технологический бизнес на глобальном рынке.
Мнение редакции может не совпадать с точкой зрения автора
Как открыть и воспроизвести файл в приложении QuickTime Player на Mac
В QuickTime Player есть экранные элементы управления воспроизведением, которые позволяют воспроизводить, приостанавливать и перематывать видео- или аудиофайл.
С помощью элементов управления воспроизведением можно также воспроизвести файл на устройстве с поддержкой AirPlay, отобразить видео в окне «Картинка в картинке», поделиться файлом и изменить скорость воспроизведения.
Открыть QuickTime Player
Открытие файла
Чтобы открыть видео- или аудиофайл в приложении QuickTime Player на Mac, можно сделать следующее.
Дважды нажмите файл в Finder.
Если Ваши видео- или аудиофайлы находятся на iCloud Drive, нажмите iCloud Drive в боковом меню Finder, а затем дважды нажмите файл. См. раздел Хранение документов с Mac, iPhone и iPad в iCloud Drive.
Выберите «Файл» > «Открыть файл», затем выберите файл и нажмите «Открыть».
Если файл имеет старый формат или формат стороннего производителя, QuickTime Player может преобразовать его перед воспроизведением.
Совет. Также можно открыть файл, с которым Вы недавно работали, выбрав «Файл» > «Открыть недавние».
Воспроизведение файла
При наведении указателя на экран появляются элементы управления воспроизведением, которые можно использовать для воспроизведения файла и управления файлом. Можно перемотать файл вперед, воспроизвести его в обратном направлении и изменить скорость воспроизведения.
В приложении QuickTime Player на Mac откройте видео- или аудиофайл.
Для отображения элементов управления воспроизведением переместите указатель на любое место видео. (Элементы управления аудиофайлами не скрываются.)
Используйте элементы управления воспроизведением для воспроизведения видео- или аудиофайла; элементы управления можно перетянуть в другое место, чтобы они не мешали.
Если у Вашего Mac есть панель Touch Bar, Вы также можете использовать элементы управления воспроизведением на панели Touch Bar.
Можно изменить скорость воспроизведения видео с помощью кнопки перемотки вперед и кнопки перемотки назад . Чтобы изменить скорость воспроизведения во время воспроизведения видео, нажмите кнопку перемотки вперед или назад, пока воспроизведение не достигнет нужной Вам скорости. Скорость воспроизведения включает следующие значения: 2x, 5x, 10x, 30x и 60x.
Можно изменять скорость воспроизведения с небольшим шагом (от 1,1x до 2x), если запустить видео и нажимать кнопку перемотки вперед или назад , удерживая клавишу Option.
Скорость воспроизведения можно выбрать и до начала воспроизведения. Нажмите кнопку «Поделиться и Скорость воспроизведения» , выберите «Скорость воспроизведения», затем выберите желаемую скорость.
Если требуется, чтобы воспроизводимый файл отображался на экране поверх всех остальных окон, выберите «Вид» > «Поверх всех окон» — рядом с этим параметром появится флажок. Чтобы выключить этот параметр, выберите его еще раз.
Воспроизведение видео в режиме «картинка в картинке»
Функция «Картинка в картинке» воспроизводит видео в плавающем окне изменяемого размера: Вы можете смотреть видео, одновременно выполняя другие задачи на компьютере.
В QuickTime Player на Mac откройте видеофайл.
Для отображения элементов управления воспроизведением переместите указатель на любое место видео.
Нажмите кнопку «Картинка в картинке» в элементах управления воспроизведением.
Можно перетянуть окно «картинка в картинке» в другой угол экрана и перетянуть любой из краев окна, чтобы изменить его размер.
Нажмите кнопку полноэкранного режима или кнопку закрытия , чтобы закрыть окно «картинка в картинке».
Непрерывное циклическое воспроизведение файла
Можно задать непрерывное воспроизведение видео- или аудиофайла — когда будет достигнут конец файла, он снова будет воспроизводиться с начала.
Откройте видео- или аудиофайл, который Вы хотите зациклить.
Выберите «Вид» > «Зациклить», чтобы рядом появился флажок.
Нажмите кнопку «Воспроизвести» в элементах управления воспроизведением.
Чтобы выключить непрерывное воспроизведение, выберите эту команду еще раз; флажок исчезнет.
Перемещение по видео с помощью временного кода
Можно настроить элементы управления воспроизведением таким образом, чтобы показывалось истекшее время, количество кадров или временной код (в зависимости от характеристик видео).
В некоторых медиафайлах в элементах управления воспроизведением отображается временной код из 8 цифр (00-00-00-00) вместо кода из 4 цифр, который показывает оставшееся время. Временной код показывает информацию об определенном кадре или определенной точке записи, например время исходной записи или номер кадра. Перемещаясь по проекту, Вы можете использовать временной код для точного перехода к кадру внутри медиафайла.
Изменение настроек отображения элементов управления воспроизведением. Выберите «Вид» > «Отображение времени», затем выберите нужный вариант отображения.
Переход к кадру с определенным временным кодом. Выберите «Вид» > «Отображение времени» > «Перейти к временному коду», затем введите нужный временной код.
Для открытия, воспроизведения или приостановки воспроизведения файла и многих других действий также можно использовать сочетания клавиш. См. раздел Сочетания клавиш и жесты.
См. такжеВыбор размера экрана в QuickTime Player на MacСтатья службы поддержки Apple: Если QuickTime Player преобразовывает медиафайлы устаревших форматов перед воспроизведениемСтатья службы поддержки Apple: Аудио- или видеофайлы не открываются на компьютере Mac
Открыть документ после ошибки повреждения файла
Excel для Microsoft 365 Word для Microsoft 365 PowerPoint для Microsoft 365 Word 2021 Word 2019 Excel 2016 Word 2016 PowerPoint 2016 Excel 2013 Word 2013 PowerPoint 2013 Excel 2010 Word 2010 PowerPoint 2010 Excel 2007 Word 2007 PowerPoint 2007 Word Starter 2010 Дополнительно…Меньше 90
Иногда файл может быть поврежден таким образом, что Word, Excel или PowerPoint не смогут его нормально открыть. Но еще не все потеряно. Команда Open and Repair может восстановить ваш файл.
Щелкните Файл > Открыть > Просмотрите , а затем перейдите в расположение или папку, где хранится документ (Word), рабочая книга (Excel) или презентация (PowerPoint). Не пытайтесь открыть файл из раздела Recent , так как это не откроет диалоговое окно «Открыть».
Примечания:
Если вы используете Office 2013, выберите расположение, например OneDrive или локальный компьютер, затем выберите Browse .
Если вы используете Office 2010, вам не нужно нажимать Обзор .
org/ListItem»>
Щелкните нужный файл, а затем щелкните стрелку рядом с цифрой 9.0005 Откройте и нажмите Открыть и восстановить .
Предотвращение повреждения файлов в будущем
Проблемы с повреждением файла обычно возникают, когда файл хранится на USB-устройстве, которое отключено, когда устройство открыто в Windows. Вы можете предотвратить повреждение файлов с помощью значка «Безопасное извлечение устройства» на панели задач Windows. Если вы не видите значок, щелкните стрелку вверх в области уведомлений, чтобы отобразить скрытые значки.
В случае сбоя или отключения питания вы можете восстановить предыдущую версию вашего файла, если вы включили функцию автоматического восстановления в Office.
Если вы используете Microsoft 365, храните свои файлы в OneDrive и используйте автосохранение, чтобы защитить ваши изменения.
Действия по устранению неполадок, связанных с приложением
Дополнительные сведения о восстановлении поврежденных файлов Office в Excel, Word или PowerPoint см. в следующих статьях:
Для Excel: восстановление поврежденной книги Excel
Для Word: устранение неполадок с поврежденными документами Word
Для PowerPoint: устранение неполадок с поврежденными презентациями PowerPoint
Все, что вам нужно знать
Работа с файлами — одна из наиболее частых операций, которую приходится выполнять программистам, особенно когда задействовано множество операций, ориентированных на данные. Работа с такими файлами, как текстовые файлы, двоичные сценарии, листы Excel и т. д., является одним из распространенных вариантов использования. Хотя существуют расширенные библиотеки для работы с таблицами Excel и файлами CSV, которые содержат огромное количество данных, если вы хотите работать с файлами, которые содержат относительно меньше данных, вы можете просто использовать один из многих встроенных методов, предоставляемых Python для работать с файлами.
В этой статье вы узнаете, как открыть файл в Python. Но прежде чем вы перейдете к изучению этих методов, вам необходимо понять различные типы файлов, с которыми Python позволяет вам работать, и режимы, которые можно использовать для доступа к ним. Итак, без дальнейших церемоний, давайте начнем.
Типы файлов
Преимущественно Python позволяет работать со следующими двумя типами файлов. Первый — это обычный текстовый файл, который вы используете изо дня в день, а второй — двоичный файл, понятный только машине, состоящий из 0 и 1.
- Текстовые файлы: Текстовый файл содержит символы Юникода и имеет расширение .txt. Каждая строка в текстовом файле завершается EOL, называемым символом конца строки, который представляет собой не что иное, как символ новой строки (\n). Это позволяет выделить определенные строки.
- Двоичные файлы: это комбинация нулей и единиц. В отличие от текстовых файлов, здесь нет разделителей строк. Интерпретатор Python сначала преобразует 0 и 1 в машинопонятный язык, а затем соответствующим образом сохраняет данные.
Открытие файла
Как обсуждалось ранее, вы можете работать с файлами и манипулировать ими в скрипте Python. Предположим, вы хотите использовать определенный набор данных, хранящихся в текстовом файле, и вам нужно выполнить над ним некоторые операции или отфильтровать его. В таком случае вам потребуется сначала открыть файл, внести необходимые изменения или просто получить доступ к данным и закрыть его. Именно так вы бы сделали это, используя файловые менеджеры с графическим интерфейсом. То же самое и с операторами Python.
Python имеет встроенный метод open(), который позволяет вам открывать файлы и создавать файловый объект. Общий синтаксис метода open() —
.FileObject = open(r»Имя файла», «Режим доступа и тип файла»)
Вам не нужно импортировать пакет или библиотеку, чтобы использовать этот метод. Вместе с командой необходимо указать два параметра.
Имя файла
Здесь вы можете указать только имя файла или полный путь к файлу. Если вы просто включаете имя файла, вам нужно убедиться, что скрипт Python и текстовый файл находятся в одном каталоге. Но если вы хотите указать путь к файлу, вам нужно убедиться, что вы включили символ «r» перед путем к файлу. Это гарантирует, что интерпретатор обрабатывает путь к файлу как необработанную строку. Например, если путь к файлу содержит каталог с именем \temp, то интерпретатор выдаст ошибку, потому что он будет читать \t как специальный символ с именем табуляция.
Режим доступа
Здесь вам нужно определить, какой режим доступа вы хотите предоставить к файлу и какой тип файла вы хотите открыть. Python позволяет читать, писать и добавлять в файл. Буквы р, ш и а. обозначьте их. Наряду с этим вы можете указать тип файла. Для текстового файла вы можете включить букву «t», а для двоичного файла вы можете включить букву «b». Если вы не укажете тип файла, по умолчанию он понимает, что вы предоставили текстовый файл. Следовательно, если вы хотите предоставить доступ для записи к двоичному файлу, параметр будет «wb».
Кроме того, существуют различные варианты каждого режима. Давайте обсудим их все.
Режим доступа | Использовать |
‘х’ | Используется для создания нового пустого файла. |
«р» | Используется для открытия файла в режиме только для чтения. Более того, файл должен существовать до того, как вы будете использовать этот режим. |
‘ш’ | Используется для открытия файла в режиме только для записи. Если файл уже существует, он усекается до 0 символов или перезаписывается предоставленным вами содержимым. Если его нет, то он создается. |
«а» | Также используется для открытия файла в режиме только для записи. Если файл уже существует, он остается нетронутым, а содержимое добавляется в конце. Но если файл не существует, он создается. |
«р+» | Используется для открытия файла как для чтения, так и для записи, и файл должен существовать. |
‘ж+’ | Также используется для открытия файла как для чтения, так и для записи. Если он уже существует, то он либо усекается, либо перезаписывается. Если он не существует, он создается. |
«а+» | Также используется для открытия файла как для чтения, так и для записи. Единственное отличие состоит в том, что если файл уже существует, содержимое добавляется в конец. Если нет, то он создается. |
Как правило, режимы доступа также определяют местоположение дескриптора файла. Дескриптор файла аналогичен положению курсора в файле. В зависимости от режима доступа определяется расположение дескриптора файла. Например, в режиме добавления дескриптор файла находится в конце файла. А в режиме чтения дескриптор файла находится в начале файла.
Далее рассмотрим приведенный ниже код.
myfile1 = открыть («simplilearn.txt», «w»)
myfile2 = open(r»/home/jarvis/Documents/simplilearn.txt», «r+»)
Здесь вы создали два файловых объекта для одного и того же файла. Первый напрямую использует имя файла. Это не приведет к ошибке, потому что текстовый файл и скрипт Python находятся в одном каталоге. Следующий — указать путь к файлу. Вам нужно использовать символ r в начале, чтобы интерпретатор читал путь как необработанную строку.
Используем открытый метод с разными режимами доступа.
Попробуем прочитать содержимое файла в файловый объект и распечатать его.
myfile1 = открыть («simplilearn.txt», «r»)
печать (myfile1.read())
myfile1.close()
Здесь вы использовали метод открытия и указали имя файла вместе с режимом доступа для чтения. Затем вы вызвали метод read() для файлового объекта и распечатали его содержимое. Затем вы закрыли файловый объект, чтобы избежать потери памяти и ресурсов.
Вы можете писать в файл, используя два разных метода — write() и writelines(). Метод write() просто записывает одну строку в качестве новой строки. Метод writelines берет список строк и записывает их в файл. Давайте посмотрим на пример для них обоих.
inputList = [«Здравствуйте и добро пожаловать в Simplilearn\n», «У нас есть множество бесплатных и платных курсов для вас\n»]
inputString = «Здравствуйте и добро пожаловать\n»
myfile1 = открыть («simplilearn. txt», «w»)
myfile1.write(inputString)
myfile1.close()
print(«Используя метод записи…»)
myfile1 = открыть («simplilearn.txt», «r»)
печать (myfile1.read())
myfile1.close()
myfile2 = открыть(«simplilearn.txt», «w»)
myfile2.writelines (список ввода)
myfile2.close()
print(«Используя метод writelines…»)
myfile2 = открыть («simplilearn.txt», «r»)
печать (myfile2.read())
myfile2.close()
Здесь вы видели создание списка строк и простой строки. Сначала вы открыли файловый объект в режиме записи и использовали метод записи для записи простой строки в файл, а затем закрыли его, используя метод закрытия файлового объекта. Затем вы открыли объект файла в режиме чтения и распечатали содержимое, которое вы только что написали, используя метод записи, и снова закрыли объект. Далее вы сделали то же самое для метода writelines. Давайте проверим вывод программы.
Чтобы создать более чистый, интуитивно понятный и эффективный код, вы можете использовать оператор with. Если вы используете оператор with, вам не нужно закрывать файловый объект. Он автоматически позаботится о выделении ресурсов и освободит пространство и ресурсы, как только вы выйдете из блока with. Общий синтаксис —
.с открытым <имя_файла> как файл
Давайте разберемся с этим на примере.
inputList = [«Здравствуйте и добро пожаловать в Simplilearn\n», «У нас есть множество бесплатных и платных курсов для вас\n»]
с открытым («simplilearn.txt», «w») как myfile:
myfile.writelines(inputList)
с open(«simplilearn.txt», «r») как myfile:
print(myfile.read())
Здесь в первом блоке with вы открыли файл в режиме записи и вставили несколько предложений методом writelines. В следующем блоке with вы открыли его в режиме чтения и распечатали содержимое. Вам не нужно вызывать метод close для файловых объектов, так как операторы with автоматически позаботятся об этом.
Ждете перехода в область программирования? Пройдите курс обучения Python и начните свою карьеру профессионального программиста Python.