Журнал к ошибочной консоли Firefox от JavaScript

Я не знаю, какова точная структура вашего keys.txt или вашего csv, но, основываясь на вашем коде, я подозреваю, что нечто подобное объединит все csv в один DataFrame.

import pandas as pd

"""Reading data from keys"""
with open("keys.txt", "r") as f:
    keys = eval(f.read())
list_of_dfs = []

# Read in all csv files and append to list
for key in keys:
    list_of_dfs.append(pd.read_csv("data_{}.csv".format(str(key)))) # based on your example

# Join all dataframes into 1 big one
big_df = pd.concat(list_of_dfs)

РЕДАКТИРОВАТЬ

Если вы хотите сохранить словарь с кадрами данных в 1 файл, возможно, лучше сохранить его в виде файла выбора. См. этот вопрос .

52
задан Torsten Marek 23 April 2009 в 10:47
поделиться

7 ответов

You cannot write to the console directly from untrusted JavaScript (e.g. scripts coming from a page). However, even if installing Firebug does not appeal to you, I'd recommend checking out Firebug Lite, which requires no installation into the browser (nor, in fact, does it even require Firefox). It's a script which you can include into any web page (even dynamically), which will give you some basic Firebug functionality (such as console.log()).

32
ответ дан 7 November 2019 в 09:07
поделиться

Я бы просто установил Firebug и использовал console.log . Однако, если вы не можете сделать это, вы всегда можете выдать ошибку:

throw "foobar";
throw new Error("bazquux");

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

6
ответ дан 7 November 2019 в 09:07
поделиться

AFAIK, это невозможно. Но если вам интересно, как расширения в Firefox взаимодействуют с консолью ошибок, проверьте это .

3
ответ дан 7 November 2019 в 09:07
поделиться

Если вы ' Если вам интересно, посмотрите скрипт, который я написал - это «дешевая» замена Firebug, которая не мешает нормальной консоли (например, Safari или Chrome), но расширяет ее почти всеми методами Firebug:

http: / /code.google.com/p/glentilities/

Посмотрите под капот, и вы поймете, что я имею в виду под «дешевым». : -)

Объедините его с сериализаторами JSON YUI или json.org, чтобы отсортировать реплику console.dir.

Firebug и Firebug Lite - определенно более приятные графические интерфейсы, но я все время использую свой собственный, чтобы безопасно сохранять логи даже для производственного кода - без постоянных комментариев и без комментариев,

не мешает нормальной консоли (например, Safari или Chrome), но расширяет ее почти всеми методами Firebug:

http://code.google.com/p/glentilities/

Посмотрите под капот, и вы посмотрим, что я имею в виду под «дешевым». : -)

Объедините его с сериализаторами JSON YUI или json.org, чтобы отсортировать реплику console.dir.

Firebug и Firebug Lite - определенно более приятные графические интерфейсы, но я все время использую свой собственный, чтобы безопасно сохранять логи даже для производственного кода - без постоянных комментариев и без комментариев,

не мешает нормальной консоли (например, Safari или Chrome), но расширяет ее почти всеми методами Firebug:

http://code.google.com/p/glentilities/

Посмотрите под капот, и вы посмотрим, что я имею в виду под «дешевым». : -)

Объедините его с сериализаторами JSON YUI или json.org, чтобы отсортировать реплику console.dir.

Firebug и Firebug Lite - определенно более приятные графические интерфейсы, но я все время использую свой собственный, чтобы безопасно сохранять логи даже для производственного кода - без постоянных комментариев и без комментариев,

1
ответ дан 7 November 2019 в 09:07
поделиться

Да, вы можете =P

function log(param){
    setTimeout(function(){
        throw new Error("Debug: " + param)
    },0)
}

//Simple Test:
alert(1)
log('This is my message to the error log -_-')
alert(2)
log('I can do this forever, does not break')
alert(3)

Update to a real function

Это простой взлом, просто для удовольствия.

33
ответ дан 7 November 2019 в 09:07
поделиться

Если вы определяете глобальную функцию, которая проверяет наличие window.console, вы можете использовать Firebug для трассировки и по-прежнему хорошо работает с другими браузерами и / или если вы отключите трассировку консоли Firebug:

debug = function (log_txt) {
    if (typeof window.console != 'undefined') {
        console.log(log_txt);
    }
}

debug("foo!");
46
ответ дан 7 November 2019 в 09:07
поделиться

Эта функция не требует ни расширения, ни библиотеки. Однако он предоставляет полные привилегии соответствующему веб-сайту. Не беспокойтесь, ведь это вы разрабатываете, верно?


// Define mylog() function to log to Firefox' error console if such a
// thing exists
function defineMyLog()
{
    // Provide a useless but harmless fallback
    mylog = function(msg) { };
    // return; // disable in production

    if (typeof(netscape) === "undefined") {
        // alert("Logging implemented only for Firefox");
        return;
    }
    // The initial auth popup can be avoided by pre-setting some magic user_pref
    //  ( "capability.principal.codebase.p0.granted", "UniversalXPConnect"), etc.
    try {
        netscape.security.PrivilegeManager.enablePrivilege('UniversalXPConnect');
    } catch (e) { // User has denied privileges
        // alert(e.name + ": " + e.message);
        return;
    }
    ffconsoleService = Components.classes["@mozilla.org/consoleservice;1"]
                                 .getService(Components.interfaces.nsIConsoleService);
    mylog = function (msg)
    {
        netscape.security.PrivilegeManager.enablePrivilege('UniversalXPConnect');
        ffconsoleService.logStringMessage(new Date().toLocaleTimeString() + ": " + msg);
    }
    mylog("Firefox logging function has been defined");

    // window.open("javascript:"); // this URL does not work anymore?
}
2
ответ дан 7 November 2019 в 09:07
поделиться
Другие вопросы по тегам:

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