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

0 投票
1 回答
901 浏览
提问于 2025-04-18 12:10

我正在尝试在python3.4和Windows 8上运行一个脚本。

在Windows 7上运行得很好,但现在在Windows 8.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'

谢谢

1 个回答

0

因为Windows的安全设置,用户不能在根目录C:\文件夹里创建文件,因为那里有一些重要的系统文件,可能会被病毒攻击。虽然可以关闭这个功能,但最简单(也是最安全)的办法是为你的程序创建一个文件夹,专门用来存放输出文件。C:\TEMP是个不错的地方(如果这个文件夹还不存在,你可以自己创建一个),或者你也可以根据自己的喜好命名一个其他的文件夹。

撰写回答