открыть файл в & ldquo; w & rdquo; mode: IOError: [Errno 2] Нет такого файла или каталога

Если вы можете принять формат строк, особенно, что item.Name не содержит ,

void parseFromString(string str, out int id, out string name, out int count)
{
    string[] parts = str.split(',');
    id = int.Parse(parts[0]);
    name = parts[1];
    count = int.Parse(parts[2]);
}

Это просто сделает то, что вы хотите, но я бы предложил вам добавить некоторую проверку ошибок. Еще лучше рассмотреть сериализацию / десериализацию в XML или JSON.

39
задан Mark Amery 6 January 2016 в 18:46
поделиться

3 ответа

Вы увидите это ошибка, если каталог , содержащий файл, который вы пытаетесь открыть, не существует, даже при попытке открыть файл в режиме «w».

Поскольку вы открываете файл с относительным путем, возможно, вы не совсем понимаете, что это за каталог. Попробуйте быстро напечатать для проверки:

import os

curpath = os.path.abspath(os.curdir)
packet_file = "%s/%s/%s/%s.mol2" % ("dir", "dir2", "dir3", "some_file")
print "Current path is: %s" % (curpath)
print "Trying to open: %s" % (os.path.join(curpath, packet_file))

packetFile = open(packet_file, "w")
50
ответ дан 26 November 2019 в 20:31
поделиться

Убедитесь, что у сценария есть права на запись в этот каталог. Попробуйте следующее:

chmod a+w dir/dir2/dir3

Обратите внимание, что это предоставит права на запись всем в этом каталоге.

0
ответ дан 26 November 2019 в 20:31
поделиться

Поскольку у вас нет «начального» слэша, ваш скрипт python ищет этот файл относительно текущего рабочего каталога (а не корня файловой системы). Также обратите внимание, что каталоги, ведущие к файлу, должны существовать!

И: используйте os.path.join для объединения элементов пути.

например: os.path.join ("dir", "dir2", "dir3", "myfile.ext")

16
ответ дан 26 November 2019 в 20:31
поделиться
Другие вопросы по тегам:

Похожие вопросы: