小编use*_*766的帖子

python保存文件时如何避免文件名中的单引号?

如果 Python 将文件保存在包含异常符号的扩展 4(Linux) 分区上(到目前为止未覆盖的方括号 [] )。它会自动引用文件名。

例如:

file[].txt
Run Code Online (Sandbox Code Playgroud)

将被保存为

'file[].txt'
Run Code Online (Sandbox Code Playgroud)

在 Linux 中,扩展 4 分区“file[].txt”是一个有效的文件名。

为什么会发生,是否可以避免?我可以通过删除文件名的第一个和最后一个符号来创建解决方法,但我计划在许多平台上运行我的应用程序。所以我宁愿早点把它扼杀在萌芽状态。

Python3用于AMD64平台Linux Gentoo,ext4分区。

蟒蛇代码:

    print('\ndebug:triggered sf mode, name of file below \n')
    clientsocket, addr = serversocket.accept()
    filename = clientsocket.recv(10240)
    filename = filename.decode('UTF-8')
    app_output(filename)
    mode = 'valid'
    clientsocket.close()

    clientsocket, addr = serversocket.accept()
    incmdata = '1'
    somefile = open(filename, 'w+')
    somefile.close()
    while len(incmdata) !=0:
        incmdata = clientsocket.recv(1024 * 8)
        print('this is filename: ', filename)
        somefile=open(filename, 'ab')
        somefile.write(incmdata)
        somefile.close()
    app_output('file supposedly recieved')
Run Code Online (Sandbox Code Playgroud)

文件名变量是客户端发送给小型服务器的东西。(实际上是客户端捕获位置变量)

这是输出:

file[].txt
this is …
Run Code Online (Sandbox Code Playgroud)

ls python filenames

8
推荐指数
2
解决办法
2691
查看次数

标签 统计

filenames ×1

ls ×1

python ×1