python: у меня ошибка при попытке этого на моем mac, используя IDLE на mac или terminal

я хочу увидеть некоторую информацию и получить информацию о моих os с python, как в моем учебнике, но на самом деле не могу запустить этот код:

import os
F = os.popen('dir') 

и это :

F.readline()
' Volume in drive C has no label.
'
F = os.popen('dir')               # Read by sized blocks
F.read(50)
' Volume in drive C has no label.
 Volume Serial Nu'

os.popen('dir').readlines()[0]    # Read all lines: index
' Volume in drive C has no label.
'
os.popen('dir').read()[:50]       # Read all at once: slice
' Volume in drive C has no label.
 Volume Serial Nu'

for line in os.popen('dir'):      # File line iterator loop
...     print(line.rstrip())

это ошибка для первого на терминале, (в IDLE он возвращает только '

f = os.popen ('os.popen (' dir ')' dir Traceback (последний последний вызов): Файл «", строка 1, в FileNotFoundError: [Errno 2] Нет такого файла или openecory: 'dir'

Я знаю, что на mac это должно быть иначе, но как? чтобы получить тот же результат, используя macOS sierra.

python,macos,

0

Ответов: 3


0 принят

f = os.popen(выполняет программу и возвращает файл-подобный объект для чтения вывода программы. Таким образом, )запускается lsкоманда (в которой перечислены сведения о вашем жестком диске) и дается результат. dirПрикрепляет файл на жестком диске для чтения.

Ваша проблема в том, что нет имени файла dir. Скорее всего , вы хотели dirреж )MAC отличается от окна и команды базового списка каталогов являются ls. Но в большинстве систем unixy есть dirкоманда, которая отображает файлы в другом формате, поэтому она должна работать на вас.


0

Код, который вы используете, выглядит так, как будто он написан для Windows. openзапускает команду - но dirна Mac нет команды. dirв DOS отображаются файлы в каталоге (папке); эквивалентная команда на Mac os.popen.


0

openи open совершенно разные * .

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

Итак, учитывая, что openоткрывается файл для чтения, когда вы указываете только имя файла, если такой файл не существует, он вызывает ошибку, что здесь и происходит.

os.popen выполняет данную команду на вашем компьютере, как если бы вы ввели ее в терминал.


* Существует еще одна функция с похожим именем:, os.openкоторая, опять же, отличается от упомянутых ранее.

питон, MacOS,
Похожие вопросы