我想使用变量名作为文件名。有什么情况可能不起作用吗?
示例:
my_var = "value"
with open("my_var.txt", 'wb') as fp:
pickle.dump(my_var, fp)
这里“my_var”既是文件名的一部分,也是变量的名称。
所以基本上我问的是python是否允许变量名中的任何字符,这会在文件名中造成麻烦。
答案 0 :(得分:3)
这可能因其他操作系统而异,但在Windows下,Python变量名称中也不允许使用文件名的所有保留(禁止)字符:
但是,存在一些不同的问题:某些名称不允许作为Windows文件名,具体为:
CON, PRN, AUX, NUL, COM1, COM2, COM3, COM4, COM5, COM6, COM7, COM8, COM9, LPT1, LPT2, LPT3, LPT4, LPT5, LPT6, LPT7, LPT8, and LPT9
因此,您无法在Windows下命名文件CON.txt
,即使CON
在Python中是完全有效的变量名称。
然后,文件名有一个长度限制,因此很长的变量名称可能会导致问题。
最后,Python变量名称可能包含各种Unicode字符,并非所有Unicode字符都可用于文件名。
答案 1 :(得分:1)
由于Python变量名只能包含下划线,字母和数字,因此它们都可以用作文件名。
虽然很难想象,但可能出现的一个问题是,您可能拥有比某些文件系统允许的更长的Python变量名称。 (Windows中为260个字符)