Я не могу изменить путь сохранения [duplicate]

Краткий ответ: ваш метод foo() возвращается немедленно, а вызов $ajax() выполняется асинхронно после возврата функции . Проблема заключается в том, как и где сохранить результаты, полученные при вызове async, после его возврата.

В этом потоке было задано несколько решений. Возможно, самый простой способ - передать объект методу foo() и сохранить результаты в члене этого объекта после завершения асинхронного вызова.

function foo(result) {
    $.ajax({
        url: '...',
        success: function(response) {
            result.response = response;   // Store the async result
        }
    });
}

var result = { response: null };   // Object to hold the async result
foo(result);                       // Returns before the async completes

Обратите внимание, что вызов foo() ] все равно не вернут ничего полезного. Однако результат асинхронного вызова теперь будет сохранен в result.response.

89
задан Martijn Pieters 12 October 2014 в 01:51
поделиться

7 ответов

У меня была такая же ошибка. В принципе, я подозреваю, что путь не может начинаться с «U» или «Пользователь» после «C: \». Я изменил свой каталог на «c: \ file_name.png», поставив файл, который я хочу получить из python, прямо по пути «c:».

В вашем случае, если вам нужно получить доступ папке «python», возможно, переустановите python и измените путь установки на что-то вроде «c: \ python». В противном случае просто избегайте «... \ User ...» на вашем пути и поставьте свой проект под C:.

-1
ответ дан Bec 1 September 2018 в 08:59
поделиться

Вам нужно использовать строку raw , удвоить свою косую черту или использовать слэши вместо:

r'C:\Users\expoperialed\Desktop\Python'
'C:\\Users\\expoperialed\\Desktop\\Python'
'C:/Users/expoperialed/Desktop/Python'

В обычных строках python комбинация символов \U сигнализирует расширенный escape-код Unicode.

Вы можете поразить любое количество других проблем для любой из распознанных управляющих последовательностей , таких как \a или t или \x, и др.

148
ответ дан Martijn Pieters 1 September 2018 в 08:59
поделиться

Это обычно происходит в Python 3. Одна из распространенных причин заключалась в том, что при указании пути к файлу вам нужно «\\» вместо «\». Как в:

filePath = "C:\\User\\Desktop\\myFile"

Для Python 2 будет работать только «\».

7
ответ дан mousomer 1 September 2018 в 08:59
поделиться

C:\\Users\\expoperialed\\Desktop\\Python Этот синтаксис работал для меня.

9
ответ дан Musakkhir Sayyed 1 September 2018 в 08:59
поделиться

f = open ('C: \\ Users \\ Pooja \\ Desktop \\ trolldata.csv') ... Используйте '\\' для программы python в версии python версии 3 и выше .. Ошибка будет разрешена. .

5
ответ дан POOJA TAYADE 1 September 2018 в 08:59
поделиться

Используйте этот параметр

os.chdir('C:/Users\expoperialed\Desktop\Python')
1
ответ дан Pygirl 1 September 2018 в 08:59
поделиться

Все три синтаксиса работают очень хорошо.

Другой способ - сначала написать

path = r'C: \ user \ .......... ......... '(каков бы ни был путь для вас)

, а затем передать его в os.chdir (путь)

2
ответ дан SPK 1 September 2018 в 08:59
поделиться
Другие вопросы по тегам:

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