9

これは私の2番目の投稿です。何か間違ったことをした場合はお詫びします。できるだけ簡潔にするように努めます。

私はいくつかの検索を行いましたが、ほとんどのエスケープは埋め込まれたJSON文字列を処理する必要があります-私の問題は実際にはファイル自体を開くことです。

現在、私は自分のコードをできるだけ一般的なものにしようとしているので、次のものを使用しています。

file = open(os.path.expanduser(r'~/Desktop/Austin/Tweets/10_7_2012_12/09-Tweets.txt'), 'r')

問題は、インタプリタがこのコードを見ると、ファイル名に「/」が含まれていることです。これは、別のディレクトリを移動しようとしていると思います。これを確認するには、ファイル名の「/」を削除して次のように入力します。

file = open(os.path.expanduser(r'~/Desktop/Austin/Tweets/10_7_2012_1209-Tweets.txt'), 'r')

そして、それはうまくロードされました。

これらすべてのファイルに対してこれを行うことの問題は、数千のツイートを含む数百のファイルがあることであり、それは少し非現実的です。

だから私の質問はこれです:ファイル名にスラッシュが含まれているファイルをロードする方法はありますか?

検索ボタンを使用してファイルをロードする方法はたくさんありましたが、名前のスラッシュを処理する方法は含まれていませんでした...試しました:

file = open(os.path.expanduser('~/Desktop/Austin/Tweets/10_7_2012_12\/09-Tweets.txt'), 'r')

file = open(os.path.expanduser('~/Desktop/Austin/Tweets/10_7_2012_12//09-Tweets.txt'), 'r')

すべて無駄に。

ナイーブな学部生を教えたいと思っている人がいれば、Pythonがスラッシュをどのように処理するかについての説明を歓迎します。

LeopardでMacOSXを使用しています。TwitterStreamingAPIと通信するWebクローラーを実行しています。名前のスラッシュは、日付を示すために「/」を付けて保存した結果です。

解決策:Mac OSXでは、ファイル名にスラッシュを使用できます。ファイルシステムの観点からは、/は実際にはコロンであり、Finderでは/に変換されます。

以下のKindallの説明:標準のMacファイル名区切り文字であるコロンを使用するCarbonレイヤーに必要です。スラッシュは、1984年に遡るMacファイル名で歴史的に許可されてきました。Macユーザーは、GUIのパス名区切り文字として、スラッシュではなくコロンを表示することも期待しています(または、少なくともこの動作が開始された2001年に表示されました)。

4

2 に答える 2

6

Unix ライクな OS を使用していると思いますが、そのようなシステムではファイル名にスラッシュを使用できないと理解しています。にいると何が見えますls~/Desktop/Austin/Tweets/?

于 2012-07-10T17:57:44.997 に答える
2

個人的には、これらのファイルに対してバッチ名前変更ツールを実行したいと思います。ファイル名のスラッシュは一般的に悪い考えです。

それ以外の場合、答えはr'~/Desktop/Austin/Tweets/10_7_2012_12:09-Tweets.txt'です。cf. OSXファイル名の特殊文字?(Python os.rename)

于 2012-07-11T15:58:23.180 に答える