Python:打开定义了驱动器号的文件-TypeError:需要整数

Python:打开定义了驱动器号的文件-TypeError:需要整数,python,integer,typeerror,required,Python,Integer,Typeerror,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", "

以下是我的两行代码:

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
回溯(最近一次呼叫最后一次):
文件“D:\FYP\Program\usb.py”,第2行,在
f=打开(“%s\sample”,“wb”,驱动器)
TypeError:需要一个整数
我是不是错过了一些简单的东西

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

我猜这就是你想要的。

你应该使用
来打开你的文件,因为它会自动关闭文件,并且不太容易出现简单错误:

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

我知道事情很简单,太多咖啡会影响我的大脑!谢谢。很高兴它能帮上忙:)如果你觉得它有用的话,你会的。欢迎来到Stack Overflow!请随时查看“帮助-->站点教程”下的站点教程,以了解该站点并获得免费徽章!好建议!我从没想过要这么做!