Personally, when I started doing hobbyist OS stuff I already knew enough C to be dangerous and ended up actually learning it properly as I worked on my OS project. It worked okay for me, so I'd recommend the same for you -- because you can feel free to try if you're up for the challenge, but if you don't already know how to use a C compiler to make something executable then it's going to be incredibly aggravating to try and figure it out as you go with the tutorials on the wiki.
I would recommend a straightforward interactive tutorial series like this to get started learning C at all:
http://www.learn-c.org/Also, K&R is a pretty good reference if you already know C, but I wouldn't recommend it as a beginner's learning tool. For that, I would actually with a completely straight face recommend something like C for Dummies (my first exposure to C was C++ for Dummies, which was great, but at 11 I just couldn't wrap my head around OOP).
So here's what I would recommend:
1. Learn C using something like the tutorial series above along with a beginner's reference book like C for dummies. (already knowing python should make picking up the concepts way easier, so it shouldn't be too bad. The hardest parts will be all of the features that C is lacking compared to python and understanding how C actually produces machine code as opposed to the dynamic interpreted nature of python)
2. Once you're starting to feel comfortable getting into C, if you don't have one already either install a Linux distro on a spare machine or in a VM and get familiar with using GCC and the actual C toolchain in an actual local development environment (there's C compilers for every machine and OS you can think of, but Linux is by far still the most convenient platform for building things in C)
3. Think of some silly but nontrivial project to build in C on your own from scratch (a little game using SDL, maybe even a webapp using
KORE.io, whatever you want as long as it's more advanced than a couple of functions in a single source file) and spend like a month of weekends implementing the thing. This will give you valuable insight into how really implementing and designing software in a systems language like C works in a way that nothing else can teach you, and it'll familiarize you more in practice with how the building and linking system in C works.
4. Somewhere in/between steps 2 and 3 above, start doing some research into how the CPU in your computer really works using wikipedia and google which should help you turn up some stuff like:
https://www.youtube.com/watch?v=H4Z0S9ZbC0g -- learn the basics of how the CPU is connected to memory and peripherals, how it communicates, reads and writes to them, how it starts up and reads instructions, what registers and the stack are and how they're used, so that you can:
5. Start learning x86 assembly code. Besides manually twiddling bits with a hex editor, this is the lowest level way to write code for your CPU and you *WILL* need to know it to do things in your OS that C has absolutely no concept of, Ex: setting up special registers to configure the processor to work the way you want, setting up memory management, writing to I/O ports, ETC. You need it to do a lot of little glue stuff, and either way you're going to want to know how your computer operates if you're writing the software that makes it go. And it goes hand-in-hand with 4 as learning assembly will teach you about the machine and learning about the machine will make assembly make more sense. This seems like a really in-depth resource:
http://opensecuritytraining.info/IntroX86.html 6. Roll up your sleeves and do what a real production dev does: With your wits and your new knowledge of the x86 architecture and C in one hand and google and the wonderful resource that is the OSDev wiki in the other, start at the start and decide a goal at a time what you want to accomplish (first: figure out how the PC boots code and get some boot code running on the bare hardware, second: learn how the keyboard controller works and get some code running that can handle some basic input...) and then use your resources and your intelligence to make it happen. Most of writing an OS is learning how the devices you want to interface with in your computer work one by one from datasheets and other resources and then hacking and debugging away with that information in mind until things start working. The rest is your imagination, really.
It's a long road, it will be frustrating, but it's worth it, it's equally rewarding, and you can do it! Remember this hilariously ironic anti-advice that I want to say is from It's Always Sunny: "Why keep doing something if you're not instantly great at it?"