Python 3.x でファイルを扱う時は主に open(), with を使用するのだが、他の言語同様 書き込みモードというのが存在する。
ほかにも読み取り専用や追記モードなどもあるが割愛
file_path = 'sample1.txt'
with open(file_path, mode='w') as f:
print('Hello Py!!')
同じ階層にファイルを作る場合、通常はこれで問題ないのだがWindows系の場合 文字数制限 が存在する
長過ぎるパス名にご用心 - AtFILE_Guide
Windows10 home 64Bit のパスの文字数制限解除 - マイクロソフト コミュニティ
そんな深い階層にフォルダ作って作業することなんて無いという方もいるかもしれないが、OneDrive for bussiness で個人のフォルダは結構深い階層に生成される(た気がする)
C:\Users\%username%\OneDrive - 株式会社〇〇〇〇〇〇\
うん、これ会社名とユーザ名が長くなければ普通にぶち当たらないな。。。
だが FileNotFoundError を生んでしまった。
ググってみても 直上のフォルダが存在しないから といった理由ばかり記載されておりこれは違うなぁってのしかなかった。
(もしかしたらあったのかもしれないが見落としてるかも)
ふと、そういえばWindowsってファイル名制約あったけ てことを思いファイル名文字数制限てのを見つけた。
そういや、いつも長いファイル名なんてつけないから忘れてた
例えばファイル名に日付情報を付加した場合(まさに今回)はファイル名が長くなるので注意が必要かもしれない。
ログ_株式会社〇〇〇〇〇〇〇〇〇〇〇〇様_〇〇〇〇〇〇拠点_設定変更_最終ログ_yyyymmdd.txt
というファイルからshow run と show start抜き出すプログラム書いてて思ったことでした。
ログ_株式会社〇〇〇〇〇〇〇〇〇〇〇〇様_〇〇〇〇〇〇拠点_設定変更_最終ログ_yyyymmdd.txt_show running-config_yyyymmdd.txt
ログ_株式会社〇〇〇〇〇〇〇〇〇〇〇〇様_〇〇〇〇〇〇拠点_設定変更_最終ログ_yyyymmdd.txt_show startup-config_yyyymmdd.txt
ちなみにpathlib.touch() やってみても error してた