Unix ディレクトリ入力を処理し、入力をパラメーターとして使用して別のプログラムを開始する Python 2.7 スクリプトを作成しようとしていました。
ただし、python の str() 関数が入力のスラッシュを好まないという問題に遭遇しました。次のように、入力をスラッシュで str() しようとしているとき:
inputData = str(input('Put directory here:')) // OS is Mac OS X
> Put directory here: /User/username/abc.file
...
SyntaxError: invalid syntax
これは、str() がスラッシュを含む文字列を自然に処理できないためだと思います。入力 (キーボード入力 "/User/username/abc.file") 中に各サイトに手動で引用符を追加すると、このエラーはトリガーされないためです。 .
このスクリプトはユーザー入力を処理する必要があるため、引用符を自動的に追加できることを願っています。次のウォークアラウンドを試しました。
inputDataRaw = input('Put directory here:')
if (not inputDataRaw.startswith('"')) and (not inputDataRaw.startswith("'")):
inputDataRaw = '"' + inputDataRaw
if (not inputDataRaw.endswith("'")) and (not inputDataRaw.endswith('"')):
inputDataRaw = inputDataRaw + '"'
inputData = str(inputDataRaw)
しかし、入力値を str() しないと inputDataRaw に格納できないようで、最初の行で同じエラーが直接発生しました。Python でスラッシュをエスケープするすべての関数は、最初に文字列を形成しないと機能しないようです。
誰かがこの問題を回避する正しい方法を指摘してくれませんか? ありがとう。