python 3.4 windows 8.1无法在C中创建文件:\

python 3.4 windows 8.1无法在C中创建文件:\,python,windows-8.1,Python,Windows 8.1,我正在尝试在python3.4和windows8中运行脚本 它在Windows7中运行良好,但现在在Windows8.1中,它无法用C:编写文件,可能会被拒绝访问。 如果我更改了目录,例如User/xxx,它可以工作,但我不知道如何用C“写”: with open('C:/xxxx.csv', 'r') as csvfile: Traceback (most recent call last): File "C:\Python34\Scripts_jmab\csv_to_shp.py",

我正在尝试在python3.4和windows8中运行脚本

它在Windows7中运行良好,但现在在Windows8.1中,它无法用C:编写文件,可能会被拒绝访问。 如果我更改了目录,例如User/xxx,它可以工作,但我不知道如何用C“写”:

with open('C:/xxxx.csv', 'r') as csvfile:

Traceback (most recent call last):
  File "C:\Python34\Scripts_jmab\csv_to_shp.py", line     12, in <module>
    urllib.request.urlretrieve(a,filename)    
  File "C:\Python34\lib\urllib\request.py", line 188, in urlretrieve
    tfp = open(filename, 'wb')
OSError: [Errno 22] Invalid argument: 'C:/xxxxx.csv'
打开('C:/xxxx.csv','r')作为csv文件的
:
回溯(最近一次呼叫最后一次):
文件“C:\Python34\Scripts_jmab\csv_to_shp.py”,第12行,在
urllib.request.urlretrieve(a,文件名)
文件“C:\Python34\lib\urllib\request.py”,第188行,在urlretrieve中
tfp=打开(文件名为“wb”)
OSError:[Errno 22]无效参数:“C:/xxxxx.csv”

感谢

由于Windows中的安全设置,不允许用户在root
C:\
文件夹中创建文件,因为其中存在一些可能受到病毒攻击的重要系统文件。虽然可以禁用此功能,但最简单(也是最安全)的解决方案是为程序创建一个目录,以便将其输出文件放入其中
C:\TEMP
是一个很好的位置(如果它不存在,您可以创建它),或者您可以根据自己的选择创建另一个名为的文件夹。

您可以在Python之外的
C:\
中创建文件吗?如果你不能在那里做,你将无法通过Python…嗨,我可以创建一个文件夹,但不能创建一个文件。我想win 8.1不允许你直接在C中创建一个文件:谢谢。这是我要做的事。然后我必须为win 7创建脚本,为win8创建另一个脚本。@kamme-在任何版本的Windows上,写入
C:\
通常都是一个坏主意,因此我建议对这两个版本都使用临时目录。