Python: Opening a file with defined drive letter - TypeError: an integer is required

Python: Opening a file with defined drive letter - TypeError: an integer is required

这是我的两行代码:

drive = 'j:'
f = open("%s\sample", "wb", drive)

我正在尝试编写一个简单的程序,该程序正在写入程序正在创建的文件,该文件将在定义的驱动器上创建,在这种情况下,就在 "J:" , 但是当 运行 代码时显示如下:

Traceback (most recent call last):
File "D:\FYP\Program\usb.py", line 2, in <module>
f = open("%s\sample", "wb", drive)
TypeError: an integer is required

我是不是漏掉了一些简单的东西?

drive = 'j:'
f = open("%s\sample" % drive, "wb")

猜猜这就是你想要的。

您应该使用 with 打开您的文件,因为它会自动关闭它们并且 str.format 可能不太容易出现简单错误:

drive = 'j:'
with open("{}/sample".format(drive), "wb", drive) as f:
     ..........

您还应该在文件路径中使用 / 或原始字符串 r,因为 \ 用于转义 python 中的字符。

你可以看到不这样做会产生截然不同的结果:

In [38]: print "\new_dir"

ew_dir

In [39]: print "/new_dir"
/new_dir

In [40]: print r"\new_dir"
\new_dir