Как запустить py файл с помощью терминала и записать в файл - PullRequest
0 голосов
/ 28 апреля 2019

Я относительно новичок в python и хотел проверить основные функции python, такие как запись и чтение из файлов. Используя этот код, он работал без нареканий:

text = "hello there"
file = open("testfile.txt", "w")
file.write(text)
file.close()

Далее я хотел запустить его с помощью терминала. я написал python3 [fileDir] /testing.py и нажал enter, но, к сожалению, я не смог получить текст, написанный на testfile.txt. Я знаю, это может быть глупый вопрос для начинающих, но, пожалуйста, помогите мне в решении этой проблемы.

Ответы [ 3 ]

0 голосов
/ 28 апреля 2019

Представим, что ваш код находится в каталоге ./test-dir. Таким образом, ваше файловое дерево относительно текущего каталога:

.
└── test-dir
    └── testing.py

1 directory, 1 file

Если вы запускаете python test-dir/testing.py, ваш текущий рабочий каталог равен . (здесь . обозначает каталог, в котором вы находитесь в данный момент, родительский каталог test-dir). Таким образом, путь somefile.txt будет в ., а не в ./test-dir.

Продолжительность:

python test-dir/testing.py

изменяет структуру каталогов на:

.
├── test-dir
│   └── testing.py
└── testfile.txt

1 directory, 2 files

Как правило, все пути в вашем коде будут интерпретироваться как относящиеся к каталогу , в котором вы запускаете команду Python (т.е. .), а не к каталогу, в котором находятся исходные файлы Python ( т.е. ./test-dir).

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

Во-первых, спасибо вам, ребята, за ваши ответы!

Сегодня я попробовал еще раз и, наконец, напечатал «hello there» в файле.У меня был текст, написанный на testfile.txt, поэтому я удалил весь файл и попробовал снова.Затем, без текста, написанного в файле, он работал отлично.

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

В любом случае, теперь он работает безупречно, и спасибо, что потратили время!

0 голосов
/ 28 апреля 2019

используйте cat testfile.txt и выводит "hello there" в терминале.Из-за отсутствия перевода строки он будет выводиться в строке с подсказкой.

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