Открытие текстового файла в Python 3

Я не уверен, что на это уже был дан ответ, но я посмотрел и не нашел.

У моих товарищей по команде нет доступа к файлу по этому пути: \\SYDSFILES01\Product\MNL\SellOutQC\PythonScripts\. У них есть доступ ко всем файлам в папке MNL, но нет доступа к \\sydsfiles01\product\. Что мы сделали, так это сопоставили папку, заканчивающуюся N:\SellOutQC\PythonScripts\.

Однако, когда я запускаю следующее, это приводит к ошибке, поскольку программа пытается найти файл через \\SYDSFILES01\Product\MNL\SellOutQC\PythonScripts\. Я пробовал обходной путь, но безрезультатно. Надеюсь, ты сможешь помочь. Запускаемый скрипт находится в N:\SellOutQC\

def import_weekly():
    import csv
    import os
    file = "/PythonScripts/parameters.txt"
    path = os.getcwd()+file

    d = {}
    with open(path, 'r+') as file:
        for i in csv.reader(file,delimiter='\t'):
            d[i[0]]=i[1]
    return d

Error: 
PermissionError: [Errno 13] Permission denied: '\\\\sydsfiles01\\product\\manila\\selloutqc\\pythonscripts\\Parameters.txt'

Вы хотите получить доступ к файлу, к которому у вас нет доступа?

Sushant 23.07.2018 09:20

Изменить права доступа к файлам

Advay Umare 23.07.2018 09:22
My teammates does not have access to a file via absolute path, так у вас есть? Вы его запускаете? Почему товарищи по команде приходят к этому вопросу?
atline 23.07.2018 09:23

У нас есть к нему доступ, но не напрямую. Извините, вот как это выглядит на самом деле: \\ SYDSFILES01 \ Product \ MNL \ SellOutQC \ PythonScripts \ Parameters‌ .txt Команда не может напрямую получить доступ к этому пути, только к папке MNL, и поэтому мы закончили сопоставление \\ SYDSFILES01 \ Manila \ as N: /. Они могут получить доступ ко всему в этой папке, но при использовании в сценарии он читает файл из \\ SYDSFILES01 \ Product \ Manila \ SellOutQC \ PythonScripts \ Paramet ers.txt, а не из сопоставленной папки, то есть N: \ SellOutQC \ PythonScripts \ Parameters. текст

Janine 23.07.2018 09:23

Возможно, у вас нет доступа write к этому файлу. Измените режим доступа с r+ на r. тогда попробуй.

Kumar 23.07.2018 09:36

Мы делаем. Мы можем редактировать сам файл. Мы хотели, чтобы программа обращалась к файлу через сопоставленный путь, а не через исходный путь, поскольку участники не имеют доступа к \\ sydsfiles01 \ product \, который сценарий выше использует для поиска файла.

Janine 23.07.2018 09:39

Работает ли код, если вы жестко кодируете N:\SellOutQC\ вместо os.getcwd()?

Kumar 23.07.2018 09:47

"На карте" как? Доступно ли это сопоставление для Python и активно ли оно в контексте, в котором вы запускаете этот скрипт?

tripleee 23.07.2018 10:04

Вы должны распечатать (как отладочную информацию) результат os.getcwd()

Serge Ballesta 23.07.2018 11:02

Это странно. Я попытался сопоставить подкаталог общего сетевого ресурса с net use x: \\server\path\to\folder, затем я открыл Python из окна консоли на X:\ . В Python os.getcwd(), как и ожидалось, показывает X:\ . Как у вас нанесенный на карту удаленная папка?

Serge Ballesta 23.07.2018 11:22

Привет, Серж! Мы сопоставили '\\ SYDSFILES01 \ MNL' assN: \ ', поскольку мы не можем получить доступ к' \\ SYDSFILES01 \ Product \ '. Если мы попытаемся сопоставить' \\ SYDSFILES01 \ Product \ MNL ', это приведет к ошибке.

Janine 23.07.2018 11:29
Почему в Python есть оператор "pass"?
Почему в Python есть оператор "pass"?
Оператор pass в Python - это простая концепция, которую могут быстро освоить даже новички без опыта программирования.
Некоторые методы, о которых вы не знали, что они существуют в Python
Некоторые методы, о которых вы не знали, что они существуют в Python
Python - самый известный и самый простой в изучении язык в наши дни. Имея широкий спектр применения в области машинного обучения, Data Science,...
Основы Python Часть I
Основы Python Часть I
Вы когда-нибудь задумывались, почему в программах на Python вы видите приведенный ниже код?
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
Алиса и Боб имеют неориентированный граф из n узлов и трех типов ребер:
Оптимизация кода с помощью тернарного оператора Python
Оптимизация кода с помощью тернарного оператора Python
И последнее, что мы хотели бы показать вам, прежде чем двигаться дальше, это
Советы по эффективной веб-разработке с помощью Python
Советы по эффективной веб-разработке с помощью Python
Как веб-разработчик, Python может стать мощным инструментом для создания эффективных и масштабируемых веб-приложений.
1
11
79
1

Ответы 1

Я предполагаю, что ваш код работает с жестко заданным путем r'N:\SellOutQC\PythonScripts\Parameters.txt', вы можете использовать os.popen('cd').readline().strip('\n') для чтения сопоставленного местоположения текущего рабочего каталога в системе Windows вместо os.getcwd(). например

mapped_path = os.popen("cd").readline().strip('\n')

print(mapped_path) должен печатать N:\\SellOutQC в вашем случае.

Привет, Кумар! Я еще не смог попробовать жестко запрограммированный путь, но сделаю это через некоторое время и сообщу вам, работает ли он. Большое спасибо!

Janine 23.07.2018 10:47

Другие вопросы по теме