Fejl ved oprettelse af katalog med python i Windows

Indlæg af Hanne Mølgaard Plasc

Problem



Jeg forsøger at oprette en mappe i python, men nu bruger jeg Windows, og jeg har lidt problemer.


Min kode fra app.py er:


    # Python Library 
    # -*- coding: UTF-8 -*-

    import os

    def create\_directory(server\_path, branch):
        if not os.path.exists(rserver\_path):
           os.makedirs(rserver\_path)
        os.makedirs(server\_path + "/" + branch)


Men når jeg kører koden:


D:	oolsscripts>python
Python 2.7.13 (v2.7.13:a06454b1afa1, Dec 17 2016, 20:42:59) [MSC v.1500 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> from app import *
>>> create\_directory('D:	emplixo','ProjectA\_CO\_4.2.x')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "app.py", line 18, in create\_directory
    os.makedirs(newpath)
  File "C:Python27libos.py", line 150, in makedirs
    makedirs(head, mode)
  File "C:Python27libos.py", line 157, in makedirs
    mkdir(name, mode)
WindowsError: [Error 123] A sintaxe do nome do arquivo, do nome do diret¾rio ou do r¾tulo do volume estß incorreta: 'D:	emp'


Kan nogen hjælpe mig?

Bedste reference


Passerer du virkelig stien som: 'D: emplixo'? Prøv at undslippe backslashet, som sådan: 'D:\temp\lixo'. For mere information om strengen undslippe kan du høre dokumentationen. [6]

Andre referencer 1


For windows skal du også ændre skråstregen her:


# Python Library 
# -*- coding: UTF-8 -*-

import os

def create\_directory(server\_path, branch):
    if not os.path.exists(rserver\_path):
       os.makedirs(rserver\_path)
    os.makedirs(server\_path + "\" + branch) #  escaped backslash


Det burde hjælpe. Også som @lukeg sagde, skal alle dine skråstreger løses. dvs. '\' i stedet for '\'