Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

dcaspt2_inputu_generator および sum_dirac_dfcoefにおいて、読み取りファイルの保管場所による問題点 #111

Closed
NakagawaKoumi opened this issue Jun 28, 2024 · 2 comments
Assignees
Labels
bug Something isn't working

Comments

@NakagawaKoumi
Copy link

dcaspt2_inputu_generatorでは、計算したoutputファイルからsum_dirac_dfcoefを実行したときに得られるデータを用いて表を作成していると思われる。ここで、outputファイルが名前にスペース(空白)が含まれるファイル下に置いてあるとエラーが起きるという問題が発生した。これは、sum_dirac_dfcoef実行時にプログラムがスペース部分で一つのファイルを区切り、複数のファイル名として認識してしまうためであると思われる。以下エラー文。
FileNotFoundError: [Errno 2] No such file or directory: 'C:\~~\.dcaspt2_input_generator\sum_dirac_dfcoef.out'

とりあえずの対応として、以下のことが可能であった。
・outputファイルが含まれるファイル名のスペースをなくす

・先に自分でsum_dirac_dfcoefを実行し、得られたファイルをinput_generatorにかける。sum_dirac_dfcoef実行時、スペースが含まれるファイル名の部分を ’ ’ で囲み、一つのファイル名として認識させる(~\'file name'\~)必要がある
ここで、
sum_dirac_dfcoef
だけでは、結果の記述形式がinput_generatorに対応していなかったため、
sum_dirac_dfcoef -c
とする必要があった。
先にoutputファイルにsum_dirac_dfcoefを実行して得たファイルは、input_generatorを行う際にスペースが含まれているファイル下にあっても問題がなかった。

@kohei-noda-qcrg kohei-noda-qcrg self-assigned this Jun 28, 2024
@kohei-noda-qcrg kohei-noda-qcrg added the bug Something isn't working label Jun 28, 2024
@kohei-noda-qcrg
Copy link
Member

kohei-noda-qcrg commented Jun 28, 2024

@NakagawaKoumi
dcaspt2-input-generatorでsum-dirac-dfcoefを実行するときに使用しているPySide6のQProcess.startはそのまま文字列の配列を渡すと空白混じりのパスをうまく処理できないみたいですが
QProcess.startCommandを使えばうまくいくことが分かったのでこれでOKだと思います

C:\'path with space' や "C:\path with space"などとクォートしないといけないかについては、クォーテーションしないと2つの別れた文字列であるとシェルの時点で理解してしまうのでクォートは必須です

(例)

PS C:\Users\noda> cd C:\Program Files\
Set-Location : 引数 'Files\' を受け入れる位置指定パラメーターが見つかりません。
発生場所 行:1 文字:1
+ cd C:\Program Files\
+ ~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidArgument: (:) [Set-Location]、ParameterBindingException
    + FullyQualifiedErrorId : PositionalParameterNotFound,Microsoft.PowerShell.Commands.SetLocationCommand

PS C:\Users\noda> cd "C:\Program Files\"
PS C:\Program Files>

つまりスペースをパスの文字列に含むファイルを指定したい場合、sum-dirac-dfcoefではクォートが必要であるという意味です。
ヘルプメッセージのインプットとアウトプットの例に関してクォートで囲むように変更してみます

@kohei-noda-qcrg
Copy link
Member

@NakagawaKoumi

pip install -U dcaspt2_input_generator sum_dirac_dfcoef

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants