Уведомления

Группа в Telegram: @pythonsu

#1 Авг. 4, 2018 01:33:42

pythonmaks
Зарегистрирован: 2017-07-06
Сообщения: 50
Репутация: +  0  -
Профиль   Отправить e-mail  

цикл for

привет
не могли бы помочь?
операционная система Linux.
хотелось бы директорию , ее файлы вывести с помощью цикла for

 что -то вроде этого
#!/usr/bin/pyton3
for i in ...... что -то тут нужно написать. 
              print(i)
будьте добры

Отредактировано pythonmaks (Авг. 4, 2018 01:34:19)

Офлайн

#2 Авг. 4, 2018 09:41:52

Ramzes3
Зарегистрирован: 2018-08-03
Сообщения: 3
Репутация: +  1  -
Профиль   Отправить e-mail  

цикл for

 #!/usr/bin/python
import os
path='/home/user'
for i in os.listdir(path): print(i)

Выведет все, что содержит директория. И файлы и вложенные директории. Если нужны только файлы, то нужно в цикле проверять является ли каждый объект списка файлом.

 #!/usr/bin/python
import os
path='/home/user'
for i in os.listdir(path):
     if os.path.isfile(i): print(i)

Офлайн

#3 Авг. 5, 2018 02:07:16

pythonmaks
Зарегистрирован: 2017-07-06
Сообщения: 50
Репутация: +  0  -
Профиль   Отправить e-mail  

цикл for

можно еще вопрос?

есть скрипт на Bash… как его запустить в Python?
то есть будет код на Python и из него надо вызвать скрипт на Bash

Офлайн

#4 Авг. 5, 2018 13:46:17

ford1813
Зарегистрирован: 2018-07-22
Сообщения: 6
Репутация: +  1  -
Профиль   Отправить e-mail  

цикл for

pythonmaks
можно еще вопрос?есть скрипт на Bash… как его запустить в Python? то есть будет код на Python и из него надо вызвать скрипт на Bash
Как то так?
 import subprocess
command = ('bash 1.sh')
process = subprocess.Popen(command.split(), stdout=subprocess.PIPE)
output, error = process.communicate()
print(output)

Отредактировано ford1813 (Авг. 5, 2018 13:47:19)

Офлайн

#5 Авг. 5, 2018 14:27:42

pythonmaks
Зарегистрирован: 2017-07-06
Сообщения: 50
Репутация: +  0  -
Профиль   Отправить e-mail  

цикл for

скажите, а это единственный способ?

Офлайн

#6 Авг. 5, 2018 14:43:13

JOHN_16
От: Россия, Петропавловск-Камчатск
Зарегистрирован: 2010-03-22
Сообщения: 3292
Репутация: +  221  -
Профиль   Отправить e-mail  

цикл for

нет, можно через модуль os выполнить os.system('script.sh'), это самый простой способ что существует. При этом вы теряете контроль над ходом его выполнения и stdout



_________________________________________________________________________________
полезный блог о python john16blog.blogspot.com

Офлайн

#7 Авг. 5, 2018 18:50:07

pythonmaks
Зарегистрирован: 2017-07-06
Сообщения: 50
Репутация: +  0  -
Профиль   Отправить e-mail  

цикл for

спасибо всем за помощь

Офлайн

#8 Авг. 8, 2018 00:46:53

DamMercul
Зарегистрирован: 2017-11-26
Сообщения: 325
Репутация: +  13  -
Профиль   Отправить e-mail  

цикл for

 import os
os.execv("/bin/bash", ["bash.sh"])



____________________________________________________

 # Life loop
while alive:
    if (fun > boredom) and money:
        pass_day(fun, boredom, money)
        continue
    else: break

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version