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
这是我的两行代码:
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