Pythonでファイルを保存するときにファイル名に一重引用符を避ける方法は?

Pythonでファイルを保存するときにファイル名に一重引用符を避ける方法は?

Pythonが例外シンボルを含む拡張4(Linux)パーティションにファイルを保存する場合(これまでは角括弧[]が見つからない場合)、ファイル名を自動的に引用します。

たとえば、

file[].txt

次に保存されます

'file[].txt'

Linuxでは、拡張4パーティション「file[].txt」が有効なファイル名です。

なぜこれが起こり、避けることができますか?ファイル名の最初と最後の記号を削除してソリューションを作成できますが、私のアプリケーションを複数のプラットフォームで実行する予定です。だからむしろ早く芽を切るほうがいいです。

Python3はAMD64プラットフォームLinux Gentoo、ext4パーティションで使用されます。

Pythonコード:

    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')

filename変数は、クライアントがミニサーバーに送信する変数です。 (実際にはクライアントは位置変数をキャプチャします)

出力は次のとおりです。

file[].txt
this is filename:  file[].txt
this is filename:  file[].txt

他にも関連部品

ls -lah

-rw-r--r--  1 dimko dimko        269 Sep 11 10:00  file_open.txt
-rw-r--r--  1 dimko dimko         93 Sep 11 09:05  file_open.txt~
-rw-r--r--  1 dimko dimko          5 Sep 14 11:24 'file[].txt'
drwxr-xr-x  3 dimko dimko       4096 Sep 14 11:21  .idea
-rw-r--r--  1 dimko dimko       7635 Sep 14 11:20  LanSwissKnife.py

ベストアンサー1

実際のファイル名は次のとおりです。

file[].txt

ここではPythonプログラムに問題はありません。見積もりはで完了しますls

以下を使って再現できました。

ls -lah --quoting-style=shell

literalただし、参照スタイルで選択すると、次のようになります。

ls -lah --quoting-style=literal

[次に、引用符を使用または使用せずにファイルを一覧表示します。システムごとにデフォルトのパラメータが異なる場合があります]ls

おすすめ記事