【问题标题】:python 3.4 windows 8.1 unable to create file in C:\python 3.4 windows 8.1 无法在 C:\ 中创建文件
【发布时间】:2014-07-05 10:56:18
【问题描述】:

我正在尝试在 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'

谢谢

【问题讨论】:

  • 你能在 Python 之外的 C:\ 中创建一个文件吗?如果你不能在那里做,你将无法通过 Python...
  • 您好,我可以创建文件夹,但不能创建文件
  • 我认为win 8.1不允许你直接在C:中创建文件

标签: python windows-8.1


【解决方案1】:

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

【讨论】:

  • 谢谢。这是我要做的事情。然后我必须为 win 7 创建脚本并为 win8 创建一个不同的脚本。
  • @kamome - 在任何版本的 Windows 上写信给C:\ 通常都是一个坏主意,所以我建议对两者都使用临时目录。
猜你喜欢
  • 2016-03-16
  • 2015-08-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多